当要在一个字符串中查找某个字符的位置时,可以使用C语言中的strchr()函数。下面是strchr()函数的完整使用攻略。
函数原型
char *strchr(const char *str, int c);
在参数str所指向的字符串中搜索第一次出现字符c的位置。如果成功找到指定的字符,该函数返回指向该字符的指针;否则返回NULL。
参数说明
- str:要查找的字符串。
- c:要查找的字符,可以用整数值或者字符常量表示(例如'c')。
示例
示例1:查找字符串中第一个出现的字符
下面是一个例子,演示了如何使用strchr()函数来查找字符串中第一个出现的字符,并输出该字符在字符串中的位置。
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char *ptr = strchr(str, 'o');
if (ptr != NULL) {
printf("The first occurrence of 'o' is at position %ld.\n", ptr - str);
} else {
printf("The character 'o' is not found.\n");
}
return 0;
}
输出结果:
The first occurrence of 'o' is at position 4.
在上面的代码中,我们将字符串"Hello, world!"赋值给了变量str,然后使用strchr()函数查找字符'o'在该字符串中第一次出现的位置,并将返回值赋值给了指针ptr。如果找到了字符'o',则计算出该字符在字符串中的位置,即ptr指针减去str指针的值,并将结果输出;否则输出“The character 'o' is not found.”。
示例2:在字符串中查询子字符串
下面是另一个例子,演示了如何使用strchr()函数来查找一个字符串中是否包含另一个字符串,并输出该子字符串在字符串中的位置。
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "This is a sentence.";
char *sub = "is";
char *ptr = strstr(str, sub);
if (ptr != NULL) {
printf("The string '%s' is found at position %ld.\n", sub, ptr - str);
} else {
printf("The string '%s' is not found.\n", sub);
}
return 0;
}
输出结果:
The string 'is' is found at position 2.
在上面的代码中,我们将字符串"This is a sentence."赋值给了变量str,然后使用strstr()函数查找子字符串“is”的位置,并将返回值赋值给了指针ptr。如果找到了子字符串,则计算出该子字符串在字符串中的位置,即ptr指针减去str指针的值,并将结果输出;否则输出“The string 'is' is not found.”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 strchr()函数 - Python技术站