如何阻止CSE不要重复CSE

时间:2017-10-12 05:56:43

标签: c

#include <stdio.h>
#define BUFFER_SIZE 80
int main()
{
   FILE* fp = fopen("fp.txt" ,"r");
   char buf[BUFFER_SIZE];
   if(fp!=NULL)
    {
         while (!feof(fp))
            {
                fscanf(fp ,"%s",buf);
                  printf("Read line: %s\n" ,buf);\
                  printf("\n");
            }
    }
    fclose(fp);
}
//need create fp file 
    UW
    CSE     

如何阻止CSE再次重复CSE。你可以使用条件if-else do-while等。

1 个答案:

答案 0 :(得分:0)

请参阅Why is “while ( !feof (file) )” always wrong?函数feof并没有像许多初学者想象的那样做。

您重复输入CSE的原因是,在您读取超出文件末尾之后,该数据仍保留在缓冲区中。

我建议你将循环更改为

while (fscanf(fp, "%79s", buf) == 1) {
    printf("Read line: %s\n", buf);
}