strspn:
函数原型:
size_t strspn(const char *_Str,const char *_Control);
strspn() 从参数 str1 字符串的开头计算连续的字符,而这些字符都完全是 str2所指字符串中的字符。简单的说,若 strspn() 返回的数值为n,则代表字符串 str 开头连续有 n 个字符都是属于字符串 accept 内的字符。
例如:
int main()
{
char str[20]="lhdgagaded";
char str1[20] = "hlllfl"; //str前2个字符lh属于str1
char str2[20] = "hdlllfgl"; //str前4个字符lhdg属于str2
printf("%d\n",strspn(str,str1));
printf("%d\n",strspn(str,str2));
return 0;
}
结果:
2
4
如果str前几个字符均不属于str1,str2里面的内容,返回0。
strcspn:
函数 strcspn() 的含义与 strspn() 相反.
strcspn() 从字符串 str 的开头计算连续的字符,而这些字符都完全不在字符串 str1 中。简单地说,若 strcspn() 返回的数值为 n,则代表字符串 str 开头连续有 n 个字符都不是字符串 str1 中的字符。
例如:
int main()
{
char str[20]="adgagaded";
char str1[20] = "hlllfl"; //str前9个字符均不属于str1
char str2[20] = "lllfgl"; //str前2个字符ad不属于str2
printf("%d\n",strcspn(str,str1));
printf("%d\n",strcspn(str,str2));
return 0;
}
结果:
9
2