- 论坛徽章:
- 0
|
有下面代码,功能是分割每个email地址
- #include <stdio.h>;
- #include <string.h>;
- int main()
- {
- char *s = "dd@163.net;xx@citiz.net;mudga@hotmail.com";
- char *delim = ";";
- char *content[5];
- int content_num = 0;
- int i;
- content[0] = strtok(s,delim);
- for(i = 1;i < 5; i++)
- {
- content[i] = strtok(NULL,delim);
- content_num++;
- if (!content[i] )
- break;
- }
- for (i=0; i<content_num; i++)
- {
- printf("content[%d]:%s",i,content[i]);
- }
- return 0;
- }
复制代码
编译后出现segment fault错误,环境是rh+gcc
但是奇怪的是,我如果在gdb下面调试这个程序时,不设断点,还是出现上面的错误,说是strtok出错;如果在strtok处设置断点的话,程序完全正常!这是什么原因呢? |
|