strspn()函数和strcspn()函数
2016-07-20 08:47
459 查看
size_t strspn(const char *s, const char *accept)
功能: 用来计算字符串s中从头开始连续有几个字符都属于字符串accept。
函数说明: strspn() 从参数s字符串的开头计算连续的字符,而这些字符都完全是accept所值字符串中的字符。即就是说,若strspn()的返回值为n,就说明字符串s开头连续有n个字符都是属于字符串accept内的字符。
返回值:返回第一次失配前匹配的字符数
注意: 检索的字符是区分大小写的^_^
size_t strcspn(const char *s, const char *reject)
功能: 用来计算字符串s从头开始连续有几个字符都不属于字符串reject。
函数说明: strcspn()从参数s字符串的开头计算连续的字符,而这些字符都完全不在参数reject所指的字符串中。即就是说,若strcspn()返回的值为n,就说明字符串s开头连续有n个字符都不含字符串reject内的字符。
返回值: 返回字符串s开头连续不含字符串reject内的字符数目(返回第一次匹配前失配的字符数)。
功能: 用来计算字符串s中从头开始连续有几个字符都属于字符串accept。
函数说明: strspn() 从参数s字符串的开头计算连续的字符,而这些字符都完全是accept所值字符串中的字符。即就是说,若strspn()的返回值为n,就说明字符串s开头连续有n个字符都是属于字符串accept内的字符。
返回值:返回第一次失配前匹配的字符数
注意: 检索的字符是区分大小写的^_^
static void hash_char(const char *accept, char *ch_table) { while(*accept != '\0') { ch_table[*accept]++; ++accept; } } size_t my_strspn(const char *s, const char *accept) { if(s == NULL || accept == NULL) { return 0; } int match_count = 0; char ch_table[256] = {0}; hash_char(accept, ch_table); while(*s != '\0') { if(ch_table[*s]) { match_count++; } else { return match_count; } ++s; } return match_count; }
size_t strcspn(const char *s, const char *reject)
功能: 用来计算字符串s从头开始连续有几个字符都不属于字符串reject。
函数说明: strcspn()从参数s字符串的开头计算连续的字符,而这些字符都完全不在参数reject所指的字符串中。即就是说,若strcspn()返回的值为n,就说明字符串s开头连续有n个字符都不含字符串reject内的字符。
返回值: 返回字符串s开头连续不含字符串reject内的字符数目(返回第一次匹配前失配的字符数)。
static void hash_char(const char *reject, char *ch_table) { while(*reject != '\0') { ch_table[*reject]++; ++reject; } } size_t strcspn(const char *s, const char *reject) { if(s == NULL || reject == NULL) { return 0; } char ch_table[256] = {0}; int no_match_count = 0; hash_char(reject, ch_table); while(*reject != '\0') { if(!ch_table[*reject]) { no_match_count++; } else { return no_match_count; } ++reject; } return no_match_count; }
相关文章推荐
- C语言中strspn()函数和strcspn()函数的对比使用
- strspn
- strcspn
- java版strspn
- C语言string家族函数使用说明及范例
- C语言strcspn()函数:检索字符串s1开头连续有几个字符都不含字符串s2中的字符
- strspn函数和strbrk函数
- str的各种函数原型strcat、strcpy等
- strspn
- strspn用法
- C语言 strspn函数实现
- strspn
- DataList实现行转列及条件式绑定 DataList1.RepeatColumns
- lintcode add-binary 二进制求和
- 嵌入式开发第9天(结构体,枚举,共同体,typedef)
- POJ 1190 生日蛋糕
- iText生成pdf中文字体解决方案
- [Cloud Computing]Mechanisms: Physical Uplink
- python学习——使用模板
- 零基础学写界面