strpbrk
strpbrk
在头文件 | | |
---|---|---|
char * strpbrk(const char * dest,const char * breakset); | | |
扫描由dest指向的以NULL结尾的字节字符串,以查找由breakset指向的以null结尾的字节字符串中的任何字符,并返回指向该字符的指针。
如果 dest 或 breakset 不是指向以空字符结尾的字节字符串的指针,则行为未定义。
参数
dest | - | 指向要分析的空字符串字符串的指针 |
---|---|---|
breakset | - | 指向包含要搜索的字符的以空字符结尾的字节字符串 |
返回值
指向dest中第一个字符的指针,也就是breakset;如果不存在这样的字符,则指向空指针。
注意
该名称代表“字符串指针中断”,因为它返回指向第一个分隔符(“中断”)字符的指针。
例
#include <stdio.h>
#include <string.h>
int main(void)
{
const char* str = "hello world, friend of mine!";
const char* sep = " ,!";
unsigned int cnt = 0;
do {
str = strpbrk(str, sep // find separator
if(str) str += strspn(str, sep // skip separator
++cnt; // increment word count
} while(str && *str
printf("There are %d words\n", cnt
}
输出:
There are 5 words
参考
- C11标准(ISO / IEC 9899:2011):
扩展内容
strcspn | 返回最大初始段的长度,该最大初始段只包含在另一个字节字符串中找不到的字符(函数) |
---|---|
strchr | 找到第一个出现的字符(函数) |
strtokstrtok_s(C11) | 在字节字符串(函数)中查找下一个标记 |
| strpbrk的C ++文档 |