- C标准库
- C库 - 首页
- C库 - <assert.h>
- C库 - <complex.h>
- C库 - <ctype.h>
- C库 - <errno.h>
- C库 - <fenv.h>
- C库 - <float.h>
- C库 - <inttypes.h>
- C库 - <iso646.h>
- C库 - <limits.h>
- C库 - <locale.h>
- C库 - <math.h>
- C库 - <setjmp.h>
- C库 - <signal.h>
- C库 - <stdalign.h>
- C库 - <stdarg.h>
- C库 - <stdbool.h>
- C库 - <stddef.h>
- C库 - <stdio.h>
- C库 - <stdlib.h>
- C库 - <string.h>
- C库 - <tgmath.h>
- C库 - <time.h>
- C库 - <wctype.h>
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
广告