c语言分割字符串效率,C++_浅谈C语言的字符串分割,说起来很有意思,自认为对C语 - phpStudy...

浅谈C语言的字符串分割

说起来很有意思,自认为对C语言理解得还是比较深刻的。但居然到今天才知道有个strtok函数,试用了一下突然感慨以前做了多少重复劳动。每次需要解析配置文件,每次需要分割字符串,居然都是自己去分割字符串,既累人又容易出错。感概技术学得不够全面啊!这里引用一段strtok用法:

The strtok() function returns a pointer to the next "token" in str1, where str2 contains the delimiters that determine the token. strtok() returns NULL if no token is found. In order to convert a string to tokens, the first call to strtok() should have str1 point to the string to be tokenized. All calls after this should have str1 be NULL.

For example:

char str[] = "now # is the time for all # good men to come to the # aid of their country";

char delims[] = "#";

char *result = NULL;

result = strtok( str, delims );

while( result != NULL ) {

printf( "result is \"%s\"\n", result );

result = strtok( NULL, delims );

}

/* 何问起 hovertree.com */

The above code will display the following output:

result is "now "

result is " is the time for all "

result is " good men to come to the "

result is " aid of their country"

这个函数跟编译器中的词法分析很像,在以后的文本处理中,会解决很多问题。看来我有必要系统的学习下C的库函数,而不仅仅是死扎在语法和一些算法技巧上面。这样在平常的工作中才能事半功倍。

使用这个函数,形如下面的配置文件就非常容易解析:

id1 value1 value2 value3

id2 value1 value2 value3

...

使用这个函数,分割字符串就更加方便了,例如下面待分割的字符串:

12|2345|asld|alsfalskd

只要读取待处理的数据,然后调用四次strtok就能够解析出每行的值,以前我一般不是自己解析就是用sscanf,但是strtok更加合适,也更加啊灵活!

以上这篇浅谈C语言的字符串分割就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。相关阅读:

Win10系统怎么解压文件?Win10系统解压文件的方法

PHP+jQuery 注册模块的改进(三):更新到Smarty3.1

理解JS事件循环

php中base64_decode与base64_encode加密解密函数实例

使用JS读秒使用示例

CSS中的clip-path区域裁剪属性使用教程

Yii中创建自己的Widget实例

Android使用Jsoup解析Html表格的方法

win10预览版10122更新了什么内容?win10预览版10122更新内容汇总

基于C语言实现简单的走迷宫游戏

在Linux系统下安装QQ的一般方法

两种java文件上传实例讲解

JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果

win7升级Win10失败提示Driver Power State Falure错误怎么办?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值