我是 C 的初学者。当我使用这个 while 循环来打印文件的包含时。最后一行将在 Linux 上打印两次。到达文件末尾时不应进入 while 循环。在windows上没有问题。
#include <stdio.h>
#include <unistd.h>
int main()
{
char string[400];
FILE *file_para;
// Open the file
if ((file_para = fopen("Test.txt", "r")) == NULL)
{
printf("cannot open file\n");
getchar();
return 0;
}
while (!feof(file_para))
{
fgets(string, 400, file_para);
printf("**** %s", string);
}
fclose(file_para);
getchar();
return 0;
}