C语言 strspn函数实现

来源:互联网 发布:discuz源码有多大 编辑:程序博客网 时间:2024/05/17 23:01

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参数从首字节开始。

1 0
原创粉丝点击