标准C中字符串分割方法
◆ 使用strtok函数分割。
| 原型:char *strtok(char *s, char *delim); | ||||||||||||||||||||||||||||
| strtok在s中查找包含在delim中的字符并用NULL('\0')来替换,直到找遍整个字符串。 | ||||||||||||||||||||||||||||
| 功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。 | ||||||||||||||||||||||||||||
| 说明:首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。 | ||||||||||||||||||||||||||||
| strtok在s中查找包含在delim中的字符并用NULL('\0')来替换,直到找遍整个字符串。 | ||||||||||||||||||||||||||||
| 返回值:从s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。 | ||||||||||||||||||||||||||||
| 所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。 | ||||||||||||||||||||||||||||
使用例:
#include <stdio.h>
#include <string.h> int main(int argc,char **argv)
#include <stdio.h>
#include <string.h> int main(int argc,char **argv)
{ char * buf1="aaa, ,a, ,,,bbb-c,,,ee|abc"; /* Establish string and get the first token: */
char* token = strtok( buf1, ",-|");
while( token != NULL )
{
/* While there are tokens in "string" */
printf( "%s ", token );
/* Get next token: */
token = strtok( NULL, ",-|");
}
return ; }
OUT 值:
aaa
a
bbb
c
ee
abc
◆ 使用strstr函数分割。
| 原型:extern char *strstr(char *haystack, char *needle); | ||||||||||||||||||
| 用法:#include <string.h> | ||||||||||||||||||
| 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。 | ||||||||||||||||||
| 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。 | ||||||||||||||||||
使用例:
#include <stdio.h>
#include <string.h> int main(int argc,char **argv)
{
char *haystack="aaa||a||bbb||c||ee||";
char *needle="||";
char* buf = strstr( haystack, needle);
while( buf != NULL )
{
buf[]='\0';
printf( "%s\n ", haystack);
haystack = buf + strlen(needle);
/* Get next token: */
buf = strstr( haystack, needle);
}
return ;
}
OUT 值:
aaa
a
bbb
c
ee
◆ strtok比较适合多个字符作分隔符的场合,而strstr适合用字符串作分隔符的场合。
标准C中字符串分割方法的更多相关文章
- JavaScript字符串分割方法
使用split('')方法.此方法与Java的字符串分割方法方法名一样.
- JavaScript中字符串分割函数split用法实例
这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaSc ...
- [转]C++常用字符串分割方法实例汇总
本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考.具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用. 一.用strtok函数进行字符串分割 原 ...
- C++常用字符串分割方法实例汇总
投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-10-08我要评论 这篇文章主要介绍了C++常用字符串分割方法实例汇总,包括了strtok函数.STL.Boost等常用 ...
- js中字符串的方法
js String对象中常用方法小结,需要的朋友可以参考下: 1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) 说明: ...
- javascript中字符串的方法
字符串的方法 charAt();返回字符串指定索引的字符: concat();连接两个或多个字符串: indexOf();返回字符串中检索指定字符第一次出现的位置: lastIndexOf();返回字 ...
- JavaScript中字符串的方法:charAt()、charCodeAt()、indexOf()、lastIndexOf()、substr()、slice()、substring()、search()、replace()、split()、concat()、toLowerCase()、toUpperCase()
1.字符创的创建: //1.通过new 来创建 var str = String("javascript"); //2.3.直接使用字面量进行创建 var str='html5'; ...
- C语言中字符串存储方法
众所周知,C语言中没有数据类型能够存储字符串, char数据类型仅仅能够存储一个字符的数据,那么在C语言中关于存储字符串这一难题我们改何去何从呢? 下面将详述相关的字符串存储方法; 1,使用字符数组存 ...
- C++常用字符串分割方法
一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串. 参数说明:str为要分解的字符串, ...
随机推荐
- bzoj 5120: [2017国家集训队测试]无限之环【最小费用最大流】
玄妙的建图-- 这种平衡度数的题按套路是先黑白染色然后分别连ST点,相邻格子连黑向白连费用1流量0的边,然后考虑费用怎么表示 把一个点拆成五个,上下左右中,中间点黑白染色连ST, 对于连S的点,中点连 ...
- Codevs 1569 最佳绿草
1569 最佳绿草 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 贝茜正计划着这一天如何美美地咀嚼春天的绿 ...
- 五粮液【线段树】By cellur925
题目传送门 考场上感觉的确是线段树,还要维护区间最值...最值怎么维护?还要区间修改?\(update\)的时候加一下就好了吧...之后怎么搞啊?\(qwqwq\)之后好像不太会了...果断删除几乎快 ...
- 用vector实现普通平衡树 By cellur925
其实我真的很想学习手写平衡树的==.但是感觉联赛前真没有时间了(太菜了.),于是先学一个STL代用苟,如果还能继续在\(tsoi\)苟,回来一定先学平衡树=w=. 然后因为窝对STL用的不是特别好,有 ...
- ios 常用库
SwiftHTTP 网络请求库 SwiftyJSON json解析库 SnapKit 自动布局库 Kingfisher 图像加载库 WRCycleScr ...
- sQL存储过程的优缺点
目前具体的项目中没有使用sql存储过程,都用的封装好的框架,简单说下存储过程的优缺点. 优点: 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编 ...
- Spark Mllib里如何将数据集按比例随机地分成trainData、testData和validationData数据集(图文详解)
不多说,直接上干货! 具体详情见 Hadoop+Spark大数据巨量分析与机器学习整合开发实战的第11章 电影推荐引擎
- 174. 删除链表中倒数第n个节点
描述 笔记 数据 评测 给定一个链表,删除链表中倒数第n个节点,返回链表的头节点. 注意事项 链表中的节点个数大于等于n 您在真实的面试中是否遇到过这个题? Yes 样例 给出链表1->2-&g ...
- ueditor单独调用图片上传
很多人在问ueditor,如何单独使用图片上传功能,但是网上没有一篇能用的文档,没办法,我刚好也需要这个功能,花了3天时间(本人水平太菜,哎)终于知道怎么处理了,发出来给大家共享: 效果如下: 页面效 ...
- @RequestParam和@ResponseBody注解的区别(转)
@RequestParam 用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容.(Http协议中,如果不指定Content-Type, ...