C语言 字符串处理相关函数大汇总之(6~10)
6,strncmp函数:用于比较两个字符串的前n个字符。它的原型是:
int strncmp(const char *str1, const char *str2, size_t n);
这个函数接受三个参数:
(1),str1
:第一个字符串。
(2),str2
:第二个字符串。
(3),n
:要比较的字符数。
strncmp
函数比较两个字符串的前n个字符,并返回一个整数值,表示它们的比较结果。如果两个字符串的前n个字符相等,则返回0;如果第一个字符串的前n个字符小于第二个字符串的前n个字符,则返回一个负整数;如果第一个字符串的前n个字符大于第二个字符串的前n个字符,则返回一个正整数。
下面是一个使用strncmp
函数的例子:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "Hello World";
int result = strncmp(str1, str2, 5);
if (result == 0) {
printf("str1 and str2 are equal up to the first five characters.\n");
} else if (result < 0) {
printf("str1 is less than str2 up to the first five characters.\n");
} else {
printf("str1 is greater than str2 up to the first five characters.\n");
}
return 0;
}
????????在这个例子中,我们声明了两个字符串str1
和str2
,并将它们初始化为"Hello"和"Hello World"。然后,我们使用strncmp
函数比较这两个字符串的前5个字符,并将结果存储在result
变量中。最后,我们根据比较结果输出相应的信息。
7,sprintf函数:将格式化的数据写入到字符串中。它的原型是:
int sprintf(char *str, const char *format, ...);
这个函数接受两个参数:
(1),str
:一个字符数组,用于存储格式化的数据。
(2),format
:一个格式化字符串,指定了要写入的数据的格式。
sprintf
函数将格式化的数据写入到str
中,并返回写入的字符数(不包括字符串末尾的空字符)。
下面是一个使用sprintf
函数的例子:
#include <stdio.h>
int main() {
char str[50];
int a = 10;
float b = 3.14;
sprintf(str, "a = %d, b = %f", a, b);
printf("%s\n", str);
return 0;
}
????????在这个例子中,我们声明了一个字符数组str
,以及一个整数变量a
和一个浮点数变量b
。然后,我们使用sprintf
函数将变量a
和b
的格式化数据写入到str
中。最后,我们使用printf
函数输出字符串str
。
8,sscanf函数:用于从字符串中读取格式化的数据。它的原型是:
int sscanf(const char *str, const char *format, ...);
这个函数接受两个参数:
(1),str
:一个包含要读取的格式化数据的字符串。
(2),format
:一个格式化字符串,指定了要读取的数据的格式。
sscanf
函数将按照format
指定的格式从str
中读取数据,并将结果存储在参数列表中。参数列表中的变量类型必须与格式化字符串中的格式匹配。
下面是一个使用sscanf
函数的例子:
#include <stdio.h>
int main() {
char str[] = "a = 10, b = 3.14";
int a;
float b;
sscanf(str, "a = %d, b = %f", &a, &b);
printf("a = %d, b = %f\n", a, b);
return 0;
}
????????在这个例子中,我们声明了一个字符串str
,其中包含要读取的格式化数据。然后,我们使用sscanf
函数从str
中读取数据,并将结果存储在整数变量a
和浮点数变量b
中。最后,我们使用printf
函数输出读取到的数据。
9,strchr函数:用于在字符串中查找指定字符的首次出现。它的原型是:
char *strchr(const char *str, int c);
这个函数接受两个参数:
(1),str
:要查找的字符串。
(2),c
:要查找的字符。
strchr
函数返回指向字符串str
中第一个出现字符c
的指针。如果字符串中不包含字符c
,则返回NULL。
下面是一个使用strchr
函数的例子:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char c = 'o';
char *result = strchr(str, c);
if (result != NULL) {
printf("Found '%c' in '%s' at position %ld.\n", c, str, result - str);
} else {
printf("Character '%c' not found in '%s'.\n", c, str);
}
return 0;
}
????????在这个例子中,我们声明了一个字符串str
,其中包含要查找的字符。然后,我们使用strchr
函数查找字符串中第一个出现字符c
的位置,并将结果存储在指针变量result
中。最后,我们检查result
是否为NULL,并输出相应的信息。
10,strstr函数:用于在字符串中查找子字符串的首次出现。
char *strstr(const char *haystack, const char *needle);
这个函数接受两个参数:
(1),haystack
:要查找的字符串。
(2),needle
:要查找的子字符串。
strstr
函数返回指向字符串haystack
中第一个出现子字符串needle
的指针。如果字符串中不包含子字符串,则返回NULL。
下面是一个使用strstr
函数的例子:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char sub[] = "world";
char *result = strstr(str, sub);
if (result != NULL) {
printf("Found substring '%s' in '%s' at position %ld.\n", sub, str, result - str);
} else {
printf("Substring '%s' not found in '%s'.\n", sub, str);
}
return 0;
}
????????在这个例子中,我们声明了一个字符串str
,其中包含要查找的子字符串。然后,我们使用strstr
函数查找字符串中第一个出现子字符串的位置,并将结果存储在指针变量result
中。最后,我们检查result
是否为NULL,并输出相应的信息。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!