目前我的代码正在使用while循环
while (!feof(f))
当它到达位置5526900的文件末尾时,它不会停止.它只是不断尝试阅读,我陷入了困境.
任何人都可以告诉我为什么以及如何解决它.
谢谢
解决方法 你不应该使用feof()来循环 – 而是使用fread()的返回值 – 循环直到它返回零.如果您考虑读取空文件,这很容易看出 – feof()在读取 *** 作后返回EOF状态,因此如果用作循环控件,它将始终尝试读取伪造数据.我不知道为什么这么多人认为feof()(以及C流的eof()成员)可以预测下一次读取 *** 作是否会成功,但相信我,他们不能.
总结以上是内存溢出为你收集整理的c – 文件读取:二进制文件的feof()全部内容,希望文章能够帮你解决c – 文件读取:二进制文件的feof()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)