高级字符串查找
来源:互联网 发布:瑞珀网络机顶盒升级包 编辑:程序博客网 时间:2024/05/18 01:52
(以下三个函数都需要添加头文件<string.h>)
1.查找一个字符串前缀
strspn和strcspn函数用于在字符串的起始位置对字符计数。他们的原型如下:
group字符串指定一个或多个字符。strspn返回str起始部分匹配group任意字符的字符数目。例如,如果group包含了空格、制表符和空白字符,那么这个函数将返回str起始部分空白字符的数目。
strcspn函数和strspn函数正好相反,它对str字符串起始部分中不与group中任何字符匹配的字符进行计数。下面的代码将计算一个指向字符串中第一个空白字符的指针。
1.查找一个字符串前缀
strspn和strcspn函数用于在字符串的起始位置对字符计数。他们的原型如下:
size_t strspn( char const *str, char const *group );size_t strcspn( char const *str, char const *group );
group字符串指定一个或多个字符。strspn返回str起始部分匹配group任意字符的字符数目。例如,如果group包含了空格、制表符和空白字符,那么这个函数将返回str起始部分空白字符的数目。
如下面这个例子:
int len1, len2;char string[] = "25,142,330,Smith,J,239-4123";len1 = strspn( string, "0123456789" );len2 = strspn( string, ",0123456789" );运行完以上程序后,变量len1将被设置为2,变量len2将被设置为11.下面的代码将计算一个指向字符串中第一个非空白字符的指针。
ptr = string + strspn( string, "\n\r\f\t\v" );
strcspn函数和strspn函数正好相反,它对str字符串起始部分中不与group中任何字符匹配的字符进行计数。下面的代码将计算一个指向字符串中第一个空白字符的指针。
ptr = string + strcspn( string, "\n\r\f\t\v" );
2.查找标记
一个字符串常常包含几个单独的部分,strtok函数则可以从字符串中隔离各个单独的称为标记(token)的部分,并丢弃分隔符。它的原型如下:
char *strtok( char *str, char const *sep );
sep参数是个字符串,定义了用作分隔符的字符标记。str参数指定一个字符串,它包含零个或多个由sep字符串中一个或多个分隔符分隔的标记。strtok找到str的下一个标记,并将其用NUL结尾,然后返回一个指向这个标记的指针。需要注意的是,当strtok执行时,它会改变源字符串。如果源字符串不能被修改,那就传递源字符串的一份拷贝给strtok函数。
如果strtok函数的第一个参数不是NULL,函数将找到字符串的第一个标记。strtok同时将保存它在字符串中的位置。如果strtok函数的第一个参数是NULL,函数就在同一个字符串中从这个被保存的位置开始查找下一个标记。如果不存更多标记,strtok函数就返回一个NULL指针。
下面是一个简短的函数,这个函数将字符串的标记(用','分隔)一一打印出来。
//从一个字符数组中提取逗号分隔的标记并把他们打印出来void PrintTokens( char *line ){ char *token; token = strtok( line, "," ); while( token!=NULL ){ puts(token); token=strtok( NULL, "," ); }}
0 0
- 高级字符串查找
- 高级查找
- 查找字符串
- 查找字符串
- 查找字符串
- 查找字符串
- 查找字符串
- 查找字符串
- 字符串查找
- 字符串查找
- 查找字符串
- 查找字符串
- 字符串查找
- 查找字符串
- 查找字符串
- 字符串查找
- 查找字符串
- 字符串查找
- recyclerview设置布局样式
- qt学习之QSting类型转换
- Wireless工具移植之wpa_supplicant
- 使用systemb过程
- 2015 CCPC C题(超时代码)
- 高级字符串查找
- hadoop入门笔记[一]
- 电源调试记录六
- C : stack memory, goto and “jump into scope of identifier with variably modified type”,
- 从n个元素的列表中查找最大值(C实现)
- HDU2203-亲和串-KMP模板题
- 在Mac电脑配置服务器,让别人访问
- Apache VirtualHost 虚拟主机 ProxyPass 反向代理 RewriteEngine url 重写
- 获取ASPxGridView 中的数据