#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等。
答案 0 :(得分:0)
请参阅Why is “while ( !feof (file) )” always wrong?函数feof
并没有像许多初学者想象的那样做。
您重复输入CSE
的原因是,在您读取超出文件末尾之后,该数据仍保留在缓冲区中。
我建议你将循环更改为
while (fscanf(fp, "%79s", buf) == 1) {
printf("Read line: %s\n", buf);
}