如果我想搜索特定字符的字符串,我可以执行以下操作
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){
...
假设一个正确终止的字符串等。但是是否有一个标准的库函数已经提供了这个功能(希望更安全)
答案 0 :(得分:20)
strpbrk怎么样?听起来很适合你的账单。
const char * strpbrk ( const char * str1, const char * str2 );
“返回指向str2中第一个出现的指针,该指针是str2中任何一个字符,如果没有匹配则返回空指针。”
编辑:链接到C ++站点,但strpbrk
是标准C库的一部分。