2010-07-15 66 views
7

在C,如果我想搜索的字符串爲特定的角色,我可以做以下標準C庫中是否有strchr()的多字符版本?

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){ 
    ... 

假設正確終止字符串等。但有一個標準庫函數已經提供了這個功能(希望更安全)

回答

18

strpbrk什麼?聽起來像它適合你的賬單。

const char * strpbrk (const char * str1, const char * str2); 

「返回指向在任何已STR2的一部分,或一個空指針,如果沒有匹配的字符STR1的第一次出現。」

編輯:鏈接到C++站點,但strpbrk是標準C庫的一部分。

+0

謝謝。我認爲那正是我需要的。 – Vagnerr 2010-07-15 16:50:44

+0

+ 1-優秀的答案。完美適合賬單,並在OP的約束範圍內。 – 2010-07-15 16:51:44

相關問題