当前位置 博文首页 > astrotycoon:函数feof使用注意事项
本文主要讲讲当feof遇到fgets时,发生的尴尬故事!
先来一起看一个比较经典的错误代码:
while (!feof(fp)) {
fgets(buf, sizeof(buf), fp);
printf("%s", buf);
}
咋一眼看,貌似没啥问题啊,先判断文件fp是否结束,如果没有结束,则读取文件内容到buf,然后输出buf到标准输出,再判断fp是否结束,如此循环最后文件fp的所有内容都输出到标准输出。
但是,实际运行却发现文件的最后一行重复输出了一次,例如文件的内容是