📜  C中的strpbrk()(1)

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

C函数strpbrk()

简介

strpbrk()是C标准库中的字符串函数,用于在一个字符串中查找指定字符集中的任何一个字符第一次出现的位置。该函数在头文件<string.h>中声明。

char *strpbrk(const char *str1, const char *str2);
参数
  • str1:要搜索的字符串
  • str2:要搜索的字符集
返回值

如果找到指定字符集中的任意一个字符,返回值为指向该字符的指针;如果未找到,返回NULL。

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

int main()
{
   char str1[] = "This is a string";
   char str2[] = "abcdefghijklmnopqrstuvwxyz";
   char *ret;

   // 查找str2中任意一个字符在str1中首次出现的位置
   ret = strpbrk(str1, str2);

   if(ret)
   {
      printf("找到字符 %c,其出现在字符串 %s 中的位置是 %ld\n", *ret, str1, ret-str1);
   }
   else
   {
      printf("未找到指定字符集中的任何一字符。\n");
   }

   return 0;
}

在上述示例代码中,str1是一个字符数组,其包含字符串"This is a string"。str2也是一个字符数组,其中包含所有可能的字母。strpbrk()函数用于在str1中查找是否存在str2中的任意一个字符,如果找到,就返回该字符的指针,否则返回NULL。该代码的输出结果可能为:

找到字符 i,其出现在字符串 This is a string 中的位置是 2
总结

strpbrk()函数是一个非常有用的字符串函数,特别是在需要处理多种字符集合并返回第一次出现的位置时。尽管该函数使用范围较小,但是当需要在字符数组中查找并操作特定字符时,该函数仍然非常有用。