我写了一个 c 程序,它从一个输入文件中读取,然后将每一行打印到标准输出,但它不打印文件的最后一行!
int main() {
FILE *rf = fopen("input_text.txt", "r");
char c;
if (rf) {
while ((c = getc(rf)) != EOF) {
putchar(c);
}
fclose(rf);
}
return 0;
}
我该如何解决这个问题?提前致谢!
最佳答案
您可能需要刷新输出流,因为它正在被缓冲。在 fclose 之前添加对 fflush(stdout);
的调用:
int main() {
FILE *rf = fopen("input_text.txt", "r");
int c;
if (rf) {
while ((c = getc(rf)) != EOF) {
putchar(c);
}
fflush(stdout);
fclose(rf);
}
return 0;
}
关于C - 文件读取不打印我使用多个文件写入的文件的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798536/