int i = 0;
while(fgets(lineStr, sizeof(lineStr), pFile)!=NULL){
puts(lineStr);
pch = strtok (lineStr, delim);
while(pch != NULL){
printf("%s\n",pch);
pch = strtok(NULL,delim);
}
}
概述:我正在尝试编写 grep 的微型版本(也就是在文本文件中查找单词的出现次数)。整个代码http://pastebin.com/VzTJkLK3
问题:我正在尝试使用 strtok 来标记表示一行文本的字符数组。我注意到使用 gdb 时出现分段错误,例如
程序收到信号 SIGSEGV,分段错误。__strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:31 31 ../sysdeps/x86_64/multiarch/../strlen.S:没有这样的文件或目录。
任何提示或指向更多文档的链接表示赞赏。
PS:有人告诉我,使用 strtok 不是一个好的编程习惯——顺便说一句,我是 C 的菜鸟。你会推荐什么替代方案?