strchr()
函数在给定字符串中搜索指定的字符。
第一个参数是要被搜索的字符串,第二个参数是要查找的字符。该函数将从头开始搜索字符串,并返回指向找到该字符的第一个位置的指针。返回值是内存中此位置的地址,类型为char *
。
如果未找到该字符,则该函数返回特殊值NULL
。
char str[] = "this is a test test test"; // 要被搜索的字符串
char ch = 's'; // 要搜索的字符
char *pGot_char = NULL; // 指针初始化为:NULL
pGot_char = strchr(str, ch); // 存储找到ch的地址
strchr()
的第一个参数是要搜索的第一个位置的地址。第二个参数是被搜索的字符,其类型为char
。strchr()
函数要求第二个参数为int
类型。
也可以将ch
定义为类型int
,如下所示:
int ch = 'q'; // 使用`q`字符代码初始化
可以使用以下方法搜索多个字符:
char str[] = "this is a test test test test test test."; // 要搜索的字符串
char ch = 's'; // 要查找的字符
char *pGot_char = str; // 指针初始化为字符串开始
int count = 0; // 找到的次数
while(pGot_char = strchr(pGot_char, ch)) // 只要不返回NULL ...
{
++count; // 增加计数
++pGot_char; // 移至下一个字符地址
}
printf("在以下字符串 "%s" 中找到字符'%c'共 %d 次。\n", ch, count, str);