函数原型:size_t strspn(const char *string, const char *strcharset)
返回值说明:返回一个整形值,指明字符串strcharset中开头的字符有多少指定的字符。如果返回0说明,在字符串string中未找到指定的字符。
参数说明:
string:以'/0'结尾的字符串。
strcharset:指定的字符串,以'/0'结尾。
函数说明:
用来计算字符串string中的开头的字符中指定字符(即strcharset)的个数。
举例说明:
char string[] = "1234";
char strcharset[] = :01234567";
int len = strspn(string, strcharset);//len的值为4;
char string2[] = "8123";
int len2 = strspn(string, strcharset);//len2的值为0
char string3[] = “128676”;
int len3 = strspn(string, strcharset);//len3的值为2
函数实现:
size_t strspn(const char *string, const char *strcharset)
{
assert((NULL != string) && (NULL != strcharset));
const char *p;
const char *s;
size_t count = 0;
for(p = string; *p != ''; p++)
{
for(s = strcharset; s !='/0 '; s++)
{
if(*p = =*s)
break;
}
if(*a == '/0')
return count;//如果在指定串中找不到,则退出,返回个数
count ++;//否则count加1,继续执行
}
return count;
}
函数原型:size_t strcspn(const char *string, const char *substrset)
返回值说明:返回一个整形值,指明在字符串string开始的字符中,有多少个不在指定的字符串中。如果string的第一个字符在字符串substrset中,则返回0.
参数说明,与strspn相同。
函数说明:
strcspn与strspn正好相反,它所计算的是在string开始的字符中,有多少个不在指定的字符串(即substrset)中。strcspn中c代表complement(补充物)。
举例说明:
const char *str="hello";
const char *substrset="lo";
int len=strcspn(str, substrset);//len 的值为2
const char *strset2 = “h";
int len2 = strcspn(str, strset2);//len的值为0
const char *strset3 = ”“;//如果指定串为空串,即只有结束符'
函数实现:
size_t strcspn(const char *str, const char *strset)
{
assert((NULL != str) && (NULL != strset));
const char *left_str;
const char *right_str;
size_t count = 0;
for (left_str = str; *left_str != '/0'; left_str ++)
{
for (right_str = strset;*right_str != '/0'; right_str++)
{
if (*left_str == *right_str)
{
break;
}//如果查找到相同的字符则退出
}
if (*left_str == *right_str)
{
return count;
}//如果有相同的字符,则查找结束,返回结果
count ++;
}
return count;
}