易百教程

在字符串搜索一个字符

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()的第一个参数是要搜索的第一个位置的地址。第二个参数是被搜索的字符,其类型为charstrchr()函数要求第二个参数为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);