当前位置 博文首页 > astrotycoon:函数feof使用注意事项

    astrotycoon:函数feof使用注意事项

    作者:[db:作者] 时间:2021-08-17 15:42

    本文主要讲讲当feof遇到fgets时,发生的尴尬故事!

    先来一起看一个比较经典的错误代码:

    while (!feof(fp)) {
        fgets(buf, sizeof(buf), fp);
        printf("%s", buf);
    }

    咋一眼看,貌似没啥问题啊,先判断文件fp是否结束,如果没有结束,则读取文件内容到buf,然后输出buf到标准输出,再判断fp是否结束,如此循环最后文件fp的所有内容都输出到标准输出。

    但是,实际运行却发现文件的最后一行重复输出了一次,例如文件的内容是




    参考链接:
    薛非老师的《 会错意表错情,搭错车上错床——“度日如年”的故事及“feof()”的故事》cs
    下一篇:没有了