C语言 strspn函数实现
2017-03-16 21:28
323 查看
strspn()函数从名称上来讲属于字符串查找,但实际应用中发现strspn()函数用来在一个字符串中从首地址开始向后递增排查”添加的参数”在这个字符串的范围是多少个字节。
函数定义如下:
代码实现如下:
实现原理:
1.排查的范围从s的首地址开始到尾地址结束;
2.如果accept参数有5个字节,第一个字节查到count+1,第五个字节查到count也是+1;
3.如果accept参数所有字节都排查过了还是没有找到与s相关的字节,那么退出函数。
4.每次查找到accept相对于的字节,在下一次查找时(最外层for循环还在继续运行),accept参数从首字节开始。
函数定义如下:
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参数从首字节开始。
相关文章推荐
- C语言字符串库函数的实现
- matlab的函数conv()的C语言实现
- 指针的应用(c语言)——(子函数实现交换父函数中变量的值)
- 【C语言】编写函数实现库函数atof
- c语言对时间的处理函数和计时的实现
- C语言实现异常处理(使用 setjmp 和 longjmp 函数)
- 【C语言】memcpy函数和memmove函数的实现与区别
- 工厂函数模式 (C语言实现)
- C语言字符串库函数的实现
- 用C语言实现函数void * memmove(void *dest,const void *src,size_t n)
- C语言实现printf函数,即参数可变函数原理
- C语言中可变参数函数实现
- 用c语言实现 编写一个函数,它从一个字符串中提取一个子字符串
- 实现一个函数可以求任意个参数的平均值 C语言
- C语言可变参数函数的实现
- 用C语言 实现strcmp(),strncmp()相同功能的myStrcmp()函数和myStrncmp()函数
- C语言中函数返回字符串的 四种实现方法
- 【C/C++开发】C语言实现函数可变参数
- C语言中用函数实现整型数据位宽,如16,32位,不可以使用sizeof
- 深入理解计算机系统中一个echo()函数的C语言实现