strspn函数
【1】函数功能:strspn()从参数s 字符串的开头计算连续的字符,这些字符都是参数accept 所指字符串中的字符。
【2】返回值:返回字符串s开头连续包含字符串accept内的字符数目。 若strspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。
【3】头文件
#include <string.h>
【4】原型
size_t strspn (const char *s,const char * accept);
【5】例子
#include<stdio.h>
#include<string.h>
int main()
{
char *str="Xiyou Linux Group.";
printf("%d\n",strspn(str,"Xiyou\n"));
printf("%d\n",strspn(str,"Linux\n"));
printf("%d\n",strspn(str,"abcde\n"));
return 0;
}
strcspn函数
【1】函数功能:strcspn()从参数s 字符串的开头计算连续的字符,这些字符都不在参数reject 所指的字符串中。
【2】返回值:返回字符串s 开头连续不含字符串reject 内的字符数目。若strcspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都不含字符串reject 内的字符。
【3】头文件
#include <string.h>
【4】原型
size_t strcspn(const char *s, const char * reject);
【5】例子
#include<stdio.h>
#include<string.h>
int main()
{
char *str = "Xiyou Linux Group//2017";
printf("%d\n", strcspn(str, " "));
printf("%d\n", strcspn(str, "/"));
printf("%d\n", strcspn(str, "0"));
printf("%d\n", strcspn(str, "10"));
}
看这个输出的最后两行,倒数第二行是‘0’,所以是20;最后一行虽然找的是‘10’,但在原来的字符串中‘0’在‘1’之前,所以输出还是20。