fgetc不返回文件的最后一行

时间:2019-02-14 01:53:49

标签: c fgetc

这是我第一次编写C,并且我正在尝试打开文件并读取其内容。我正在使用fgetc来获取我的.txt文件的行,但是它仅返回内容,而没有我的.txt文件的最后一行。如何确保fgetc返回最后一行?

 FILE *fp = fopen("nums.txt", "r");
 if(fp)
 {
   int c = fgetc(fp); 
   while (c != EOF) 
   { 
     printf ("%c", c); 
     c = fgetc(fp);
   } 
 }

预期结果是:

12
13
14

但是它会像这样返回控制台:

12
13

1 个答案:

答案 0 :(得分:0)

您可以在循环前使用setbuf(stdout, NULL);来禁用缓冲。