C - 文件读取不打印我使用多个文件写入的文件的最后一行

标签 c

我写了一个 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/

相关文章:

c - 如何在不使用临时字符串和 C lib 的情况下反转字符串?

c++ - 在 C 中嵌入 Ruby 并扩展

c - 链表 : remove all nodes whose next element has a larger value

c - 如何编写可重用的日志记录函数

c - Fortran 如何返回数组?

c - C中的UDP套接字不起作用

c - pthreads - 加入一组线程,等待一个线程退出

C指针指向指针警告

c++ - 在 L1/L2 中快速合并 4K float 的排序子集

c - Malloc 发生故障