关于strtok函数

strtok
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。
 
原型
char *strtok( char *strToken, const char *strDelimit );
 
说明:strtok遇到strDelimit所包含的分割符号,自动将其转化为'\0'.同时tok指针指向前面的那段字符串。
for()循环下一次将调用最近的缓存指针,就是从最近的'\0'开始下一轮寻找。  直到寻找完,返回NULL给tok,结束。
 
单个分隔符的测试:
 1 /*
 2     Title:strtok.c
 3     Author:Dojking 
 4 */
 5 #include <stdio.h>
 6 #include <string.h>
 7 
 8 int main()
 9 {
10     char strToken[] = "This is my blog";
11     char strDelimit[] = " ";
12     char *tok;
13     
14     for (tok = strtok(strToken, strDelimit); tok != NULL; tok = strtok(NULL, strDelimit))
15         puts(tok);
16     
17     return 0;
18 }
输出结果:

This
is
my
blog

 

--------------------------------
Process exited with return value 0
Press any key to continue . . .

多个分隔符测试:

 1 /*
 2     Title:strtok.c
 3     Author:Dojking 
 4 */
 5 #include <stdio.h>
 6 #include <string.h>
 7 
 8 int main()
 9 {
10     char strToken[] = "This,is my+blog";
11     char strDelimit[] = ", +";
12     char *tok;
13     
14     for (tok = strtok(strToken, strDelimit); tok != NULL; tok = strtok(NULL, strDelimit))
15         puts(tok);
16     
17     return 0;
18 }

输出结果:

This
is
my
blog

--------------------------------
Process exited with return value 0
Press any key to continue . . .

 

推荐一篇讲得详细的文章,liuintermilan的专栏,http://blog.csdn.net/liuintermilan/article/details/6280816

posted on 2014-03-25 18:19  Dojking  阅读(2142)  评论(0编辑  收藏  举报

导航