手机
当前位置:查字典教程网 >编程开发 >C语言 >浅谈C语言的字符串分割
浅谈C语言的字符串分割
摘要:说起来很有意思,自认为对C语言理解得还是比较深刻的。但居然到今天才知道有个strtok函数,试用了一下突然感慨以前做了多少重复劳动。每次需要...

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

The strtok() function returns a pointer to the next "token" instr1, wherestr2contains the delimiters that determine the token. strtok() returnsNULLif no token is found. In order to convert a string to tokens, the first call to strtok() should havestr1point to the string to be tokenized. All calls after this should havestr1beNULL.

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 */

Theabovecodewilldisplaythefollowingoutput:

resultis"now"

resultis"isthetimeforall"

resultis"goodmentocometothe"

resultis"aidoftheircountry"

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

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

id1 value1 value2 value3

id2 value1 value2 value3

...

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

12|2345|asld|alsfalskd

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

以上这篇浅谈C语言的字符串分割就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持查字典教程网。

【浅谈C语言的字符串分割】相关文章:

c语言调用汇编的方法

C语言的指针类型详细解析

VC++中的字体设置方法详解

C语言运算符优先级列表(超详细)

深入解析C语言中typedef的四个用途

关于c语言的一个小bug详解

C语言字符串操作总结大全(超详细)

关于c语言指针的两处小tip分享

浅析C语言中sscanf 的用法

C/C++语言中结构体的内存分配小例子

精品推荐
分类导航