C库 - strpbrk() 函数



C库的strpbrk()函数查找字符串str1中第一个与str2中指定的任何字符匹配的字符。这并不包括终止的空字符。例如,当用户使用csv文件时,它有助于定位逗号、分号或其他分隔值的字符。

语法

以下是C库strpbrk()函数的语法:

char *strpbrk(const char *str1, const char *str2)

参数

此函数接受以下参数:

  • str1 − 这是要扫描的C字符串。
  • str2 − 这是包含要匹配字符的C字符串。

返回值

此函数返回指向str1中与str2中的一个字符匹配的字符的指针,如果找不到这样的字符,则返回NULL。

示例1

以下是一个演示strpbrk()函数用法的基本C库程序。

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

int main () {
   const char str1[] = "abcde2fghi3jk4l";
   const char str2[] = "34";
   char *ret;

   ret = strpbrk(str1, str2);
   if(ret) {
      printf("First matching character: %c\n", *ret);
   }   
   return(0);
}

输出

执行上述代码后,我们得到以下结果:

First matching character: 3

示例2

在这个例子中,我们将找到字符串中一组字符的第一次出现。

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

int main() {
   char str[] = "Hello, World!";
   // Set of characters to search for
   char set[] = "oW"; 

   char *result = strpbrk(str, set);

   if (result != NULL) {
       printf("First occurrence found at index: %ld\n", result - str);
   } else {
       printf("No occurrence found.\n");
   }

   return 0;
}

输出

执行代码后,我们得到以下结果:

First occurrence found at index: 4

示例3

我们创建一个C程序来替换字符串中一组字符的所有出现。

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

int main() {
   char str[] = "Our Tutorials";
   // Set of characters to search for

   char set[] = "rT"; 
   char *result = strpbrk(str, set);

   if (result != NULL) {
    printf("First occurrence found at index: %ld\n", result - str);
    } else {
    printf("No occurrence found.\n");
    }
   return 0;
}

输出

上述代码产生以下结果:

First occurrence found at index: 2
广告