在c语言中,如果我想在一个字符串中搜索一个特定的字符,我可以执行以下操作
char *p; p = (char *)strchr(buffer,'('); if(p){ ....
但如果我想搜索多个字符(或字符范围),例如“任意数字”,该怎么办。我知道我可以这样做
char *p=0; char *i; for(i=buffer;*i!='\0';i++){ if(*i >= '0' && *i <=9){ p=i; } } if(p){ ...
假设一个正确终止的字符串等,但是否有一个标准的库函数已经提供了这个功能(希望更安全)
strpbrk ? 听起来挺合算的。
const char * strpbrk ( const char * str1, const char * str2 );
返回一个指向str1中第一个出现的属于str2的字符的指针,如果没有匹配项,则返回一个空指针
编辑:链接是C++站点,但是 strpbrk 是标准C库的一部分。
strpbrk