关于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