---------------------strspn & strcspn-------------------------
strspn 和 strcspn 函数用于在字符串的起始位置对字符串计数。
其他字符串的使用尽在:http://blog.youkuaiyun.com/qq_35256722/article/details/51799485 详细解释:
原型:size_t strspn (char const *str,char const *group);
size_t strcspn (char const *str,char const *group);
简单说,strspn 就是 在group中匹配str,如果找到那就加1,没找到就终止;
strcspn 就是 在group中匹配str,如果没有那就加1,找到就终止;
看着大概的解释就这样,看看他的用法:
1.strspn
#include<stdio.h>
int main()
{
char str[] = "25,142,330,smith,j,239-4123";
size_t len1 = strspn(str,"0123456789");
size_t len2 = strspn(str,",0123456789");
printf("%d\n",len1);
printf("%d\n",len2);
return 0;
}
运算结果:
len1 = 2;
len2 = 11;
对照着代码,我们现在看看strspn功能:
在str中,第一个 2,在group字符串中存在,那就加 1,
第二个 5 ,在group字符串存在,加1;
第三个 , 在group字符串不存在,终止,len1 = 2;
!!!!
2.strcspn
#include<stdio.h>
int main()
{
char str[] = "abc25,142,330,smith,j,239-4123";
size_t len = strcspn(str,"0123456789");
printf("%d\n",len);
return 0;
}
结果:
len = 3;
对照着代码,我们现在看看strcspn功能:
在str中,第一个 a,在group字符串中不存在,那就加 1,
第二个 b ,在group字符串不存在,加1;
第三个 c, 在group字符串不存在,继续加1;
第四个 2,在group存在,就终止了,len = 3;
!!!!
2885

被折叠的 条评论
为什么被折叠?



