从C中的txt文件中读取和拆分未定义的字符串

时间:2018-04-11 17:53:07

标签: c file split strtok

FILE *file;
char text[R];
char *splitter;
fgets(text,R,file);
splitter =strtok(text," ,.-;");
while (splitter!=NULL)
{
    printf("%s\n",splitter);
    splitter=strtok(NULL," ,.-;");
}

txt文件说:

Hello lad,
how are you
doing

(这是我为测试而写的随机文本)

此代码只会拆分“hello lad”,不会向上移动到下一行。 我可以用数组做,但练习是用户读取一个随机的txt,所以我每行都有未定义的行和字符串。 有人可以提供任何提示吗? 我的一个想法是计算线条和字符串,但我想先得到另一个意见...... 提前致谢

1 个答案:

答案 0 :(得分:2)

您只需拨打fgets一次,因此您只需阅读一行文字。

您需要循环调用fgets,直到没有任何内容。

while (fgets(text,R,file)) {
    splitter =strtok(text," ,.-;");
    while (splitter!=NULL)
    {
       printf("%s\n",splitter);
        splitter=strtok(NULL," ,.-;");
    }
}