非常教程

C参考手册

字符串 | Strings

strpbrk

在头文件<string.h>中定义

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):
    • 7.24.5.4 strpbrk函数(p:368)
  • C99标准(ISO / IEC 9899:1999):
    • 7.21.5.4 strpbrk函数(p:331)
  • C89 / C90标准(ISO / IEC 9899:1990):
    • 4.11.5.4 strpbrk函数

扩展内容

strcspn

返回最大初始段的长度,该最大初始段只包含在另一个字节字符串中找不到的字符(函数)

strchr

找到第一个出现的字符(函数)

strtokstrtok_s(C11)

在字节字符串(函数)中查找下一个标记

| strpbrk的C ++文档 |

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。