该函数的头文件是<string.h>,因此在需要使用时需要添加#include <string.h>。
其函数原型为:size_t strspn(const char *str, const char * accept);
其函数的作用是:计算字符串 str 中连续有几个字符都属于字符串 accept,其返回值是字符串str开头连续包含字符串accept内的字符数目,即:如果 str 所包含的字符都属于 accept,那么返回 str 的长度;如果 str 的第一个字符不属于 accept,那么返回 0。
其应用示例如下:
void Test_char(void)
{
int n = 0,m = 0;
char str[] = "230th";
char accept0[] = "1203456789";
char accept1[] = "520";
n = strspn(str, accept0);
m = strspn(str, accept1);
printf("n = %d,m = %d\r\n",n,m);
}
其结果如下:
n = 3,m = 1
该函数的原型为:
size_t strspn(const char *str, const char * accept)
{
const
char
*p = NULL;
const
char
*a = NULL
;
size_t
count = 0;
for
(p = str; *p !=
'\0'
; ++p)
{
for
(a = accept; *a !=
'\0'
; ++a)
{
if
(*p == *a)
{
++count;
break
;
}
}
if
(*a ==
'\0'
)
{
return
count;
}
}
return
count;
}