我必須弄清楚我的主題字符串是否有任何不好的字符(我絕對討厭某些字符)。所以如果我有一個名爲str (char *str)
的字符串,並且如果找到字符串bad (char *bad)
中的任何字符,字符串str
將被拒絕。現在我可以用strcspn(str,bad)
來檢查。但有人可以建議strcspn
的實施可能是什麼? 一個簡單的實現將檢查str
的每個字符對bad
的每個字符,如果找到匹配則拒絕str
。一個比天真實施的strcspn()
for(i=0;str[i]!='\0';i++)
for(j=0;bad[j]!='\0';j++)
if(bad[j]==str[i])
return -1; //reject string
return 1; //accept string
或類似
for(i=0;str[i]!='\0';i++)
if(strchr(bad,str[i])) //will return non-NULL if str[i] is found in bad
return -1; //reject string
return 1; //accept string
。注意,在第一個片段在內的條件迴路應' 'bad [j]!='\ 0''',而不是'bad [j] ='\ 0'''。 –
@Tamás謝謝。錯過了!糾正它。 – lovesh