📜  man strstr (1)

📅  最后修改于: 2023-12-03 14:44:08.309000             🧑  作者: Mango

介绍man strstr

简介

man strstr 是一个在 C 标准库中存在的函数,它用于在一个字符串中查找另一个字符串出现的位置。在使用 strstr 函数时需要注意,它只能用于搜索子串(sub-string),也就是必须被找到的那个字符串,而不是整个字符串。另外,这个函数是不区分大小写的,也就是说 strstr("Hello", "h")strstr("Hello", "H") 都会返回 Hello 字符串的指针。

语法
char *strstr(const char *haystack, const char *needle);

man strstr 函数接受两个参数:

  • haystack:被搜索的字符串
  • needle:要查找的子串

函数返回值是在 haystack 字符串中找到的第一个 needle 字符串的指针位置。如果找不到,则返回 NULL

示例

在以下示例中,我们会使用 strstr 函数来搜索字符串。

#include <stdio.h>
#include <string.h>

int main () {
   const char haystack[20] = "TutorialsPoint";
   const char needle[10] = "Point";
   char *ret;

   ret = strstr(haystack, needle);

   printf("The substring is: %s\n", ret);
   
   return 0;
}

输出结果:

The substring is: Point

如我们所见,strstr 函数已经返回了 haystack 字符串中第一次出现 needle 字符串的位置。

注意事项
  • 找到的位置指针是指向被搜索字符串 haystack 的地址,而不是只想匹配的字符串 needle 的地址。
  • 如果要在搜索过程中考虑到大小写,可以使用 memcmp 函数比较两个字符串。
  • 注意字符串结尾特殊的 NULL 字符的处理,以及要搜索的子串的长度。