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

时间:2015-11-19 08:21:24

标签: 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;
}

我该如何解决这个问题?在此先感谢!

1 个答案:

答案 0 :(得分:2)

您可能需要刷新输出流,因为它正在缓冲。在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;
}