标准C库中是否有strchr()的多字符版本?

Vag*_*err 7 c string parsing

在c中,如果我想搜索特定字符的字符串,我可以执行以下操作

char *p;
p = (char *)strchr(buffer,'(');
if(p){
    ....
Run Code Online (Sandbox Code Playgroud)

但是,如果我想搜索多个字符(或字符范围),例如"任何数字",该怎么办?我知道我可以做点什么

char *p=0;
char *i;
for(i=buffer;*i!='\0';i++){
    if(*i >= '0' && *i <=9){
        p=i;
    }
}

if(p){
    ...
Run Code Online (Sandbox Code Playgroud)

假设一个正确终止的字符串等.但是有一个标准的库函数已经提供了这个功能(希望更安全)

Gre*_*g S 20

strpbrk怎么样?听起来很适合您的账单.

const char * strpbrk ( const char * str1, const char * str2 );
Run Code Online (Sandbox Code Playgroud)

"返回指向作为str2一部分的任何字符在str1中第一次出现的指针,如果没有匹配则返回空指针."

编辑:链接是一个C++站点,但它strpbrk是标准C库的一部分.