C语言的字符串分割 [转]
2013-01-19 12:14
183 查看
说起来很有意思,自认为对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 beNULL.
For example:
The above code will display the following output:
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 beNULL.
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 ); }
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更加合适,也更加啊灵活! [转] http://www.cnblogs.com/linxr/archive/2011/12/28/2304350.html
相关文章推荐
- C语言之分割字符串
- c语言 字符串的拼接和分割
- C语言的字符串分割
- C语言比较巧妙的字符串分割程序
- C语言分割字符串
- C语言 对字符串进行分割
- c语言实现字符串的分割
- c语言实现遍历字符串并分割成数组
- C语言中strtok函数进行分割字符串!
- C语言strtok()函数:字符串分割
- C语言:使用strtok_s()函数简单分割字符串
- [C语言]字符串处理 - 以指定的字符串分割字符串(支持中文字符)
- c语言实现字符串分割
- 用C语言来分割字符串
- C语言strtok()函数:字符串分割
- C语言 strtok 字符串分割
- C语言的字符串分割
- C语言中计算字符串长度与分割字符串的方法
- 字符串分割函数——C语言
- c语言实现字符串分割