int strspn(char *strA, char* pattern)
會把strA中,第一個不在 pattern 所包含的字元 位置 return 回來。在 bionic 的 source 是:
size_t
strspn(const char *s1, const char *s2)
{
const char *p = s1, *spanp;
char c, sc;
/*
* Skip any characters in s2, excluding the terminating \0.
*/
cont:
c = *p++;
for (spanp = s2; (sc = *spanp++) != 0;)
if (sc == c)
goto cont;
return (p - 1 - s1);
}
就是把 strA 的字元從頭一個一個和 pattern,所以找到不在 pattern 的就是答案了..
一般用:
if(strspn(&filename,"0123456789") == strlen(&filename))
來找出 完全是數字的 filename..
沒有留言:
張貼留言