我有一个从 txt 文件读取的 C 程序。文本文件包含一个单词列表,每行一个单词。我想要做的是从文本文件中获取单词并将它们打印为一个句子/段落,但是,当我尝试打印它们时,它们仍然每行打印一个单词。 当我从文件中读取它们时,我将这些单词存储在一个二维字符数组中。我认为正在发生的事情是数组从 txt 文件复制换行符,对吗?如果是这样,我如何在没有新行字符的情况下将单词添加到数组中?
while(fgets(line,20,lineRead)!=NULL)
{
for(j = 0; j < 20;j++)
{
message[k][j]= line[j];
}
printf("%s", message[k]);
}
我尝试了几个 while 循环但没有成功:
while(line[j] != ' ')
while(line[j] != NULL)
while(line[j] != EOF)
while(line[j] != ' \')
我正在学习 C,所以请具体说明我的错误。我想了解我做错了什么,而不仅仅是得到答案。
谢谢!
最佳答案
您可以简单地将您的 for 循环更改为:
for(j = 0; j < 20 && line[j] != '\n';j++)
{
message[k][j]= line[j];
}
if(j < 20)
message[k][j] = '\0';
关于c - 坚持 C 文件 i/o,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12790137/