时间:2021-05-02
说起来很有意思,自认为对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:
? 1 2 3 4 5 6 7 8 9 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 ); }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语言的字符串分割就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C语言数据结构实现字符串分割的实例以下为“字符串分割”的简单示例:1.用c语言实现的版本#includeintpartition(ch
c语言中puts是用来向标准输出设备(屏幕)写字符串并换行的,其中s为字符串字符(字符串数组名或字符串指针)。 C语言是一门面向过程、抽象化的通用程序设计语言
split()分割字符串1.不同环境下的区分Java:分割字符串不能写成split(“$”)//$为要分割的字符Android:分割字符串需要加上中括号spli
PHP字符串函数包括查找字符位置函数;提取子字符函数;替换字符串;字符长度;比较字符函数;分割成数组字符;去除空格等等。PHP语言中的字符串函数也是一个比较易懂
1、要点(1)在C语言中没有字符串,只有字符,在python中的字符串hello,在C语言中是以字符数组在内存存放['h','e','l','l','o'],如