易百教程

搜索查找子字符串

strstr()函数在一个字符串中搜索第一次出现的子字符串,并返回指向该位置的指针。
如果找不到匹配项,则返回NULL
函数的第一个参数是要搜索的字符串,第二个参数是要查找的子字符串。

char text[] = "this is a test test ";
char word[] = "is";
char *pFound = NULL;
pFound = strstr(text, word);

参考示例代码

#include <stdio.h>
#include <string.h>
int main(void)
{
  char str1[] = "this is a test test test test test.";
  char str2[] = "is";
  char str3[] = "adfd";

  // 在`str1`中搜索`str2`的出现次数
  if (strstr(str1, str2))
    printf("\\"%s\\" 在 \\"%s\\" 字符串中找到了.
", str2, str1);
  else//
    printf("
\\"%s\\" 未找到.", str2);

  // 在 str1 中搜索 str3 的出现次数
  if (!strstr(str1, str3))
    printf("\\"%s\\" 未找到.
", str3);
  else
    printf("
 有找到了!");
  return 0;
}

执行上面示例代码,得到以下结果:

hema@yiibai:~/book$ gcc main.c
hema@yiibai:~/book$ ./a.out
"is" 在 "this is a test test test test test." 字符串中找到了.
"adfd" 未找到.