您的位置:首页 > 编程语言 > C语言/C++

C语言 strspn函数实现

2017-03-16 21:28 323 查看
strspn()函数从名称上来讲属于字符串查找,但实际应用中发现strspn()函数用来在一个字符串中从首地址开始向后递增排查”添加的参数”在这个字符串的范围是多少个字节。

函数定义如下:

size_t strspn(const char *s, const char *accept);


代码实现如下:

size_t Test_strspn(const char *s, const char *accept)
{
const char *p = s;
const char *a;
size_t count = 0;

for (; *p != '\0'; ++p) {
for (a = accept; *a != '\0'; ++a) {
if (*p == *a)
break;
}
if (*a == '\0')
return count;
++count;
}
return count;
}


实现原理:

1.排查的范围从s的首地址开始到尾地址结束;

2.如果accept参数有5个字节,第一个字节查到count+1,第五个字节查到count也是+1;

3.如果accept参数所有字节都排查过了还是没有找到与s相关的字节,那么退出函数。

4.每次查找到accept相对于的字节,在下一次查找时(最外层for循环还在继续运行),accept参数从首字节开始。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 strspn