关于strtok函数

来源:互联网 发布:信捷触摸屏编程 编辑:程序博客网 时间:2024/06/05 06:00

测试环境:VC6.0

char *strtok(char *s, const char *delim);

delim中的字符是'或'不是'与'的关系,即只要s包含delim中的任何一个字符都会被替换.

delim会改变s,把s里面出现的delim换成'/0',

如果delim出现在s头部(这里的s包含调用过strtok后的余下s),会跳过。

运行结果:

;;12345678;901;1234;;5555;666.
(12345678)
0(901)
1(1234)
2(5555)
3(666.)

[3b][3b][31][32][33][34][35][36][37][38][0][39][30][31][0][31][32][33][34][0][3b
][35][35][35][35][0][36][36][36][2e]

Press any key to continue

 

运行结果:

1234
(null)
Press any key to continue

 

 测试环境:gcc

运行结果:

zl@ubuntu:~/Desktop$ ./test
1234
Segmentation fault
结论:

当strtok把s全部分割完后,如果再次调用strtok会出现"Segmentation fault"错误.