在 C++ 中重置 ifstream 对象的文件结束状态
我想知道是否有办法在 C++ 中重置 eof 状态?
I was wondering if there was a way to reset the eof state in C++?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想知道是否有办法在 C++ 中重置 eof 状态?
I was wondering if there was a way to reset the eof state in C++?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
对于文件,您可以直接查找到任何位置。例如,要倒回开头:
如果您已经读到了结尾,则必须按照 @Jerry Coffin 的建议使用
clear()
重置错误标志。For a file, you can just seek to any position. For example, to rewind to the beginning:
If you already read past the end, you have to reset the error flags with
clear()
as @Jerry Coffin suggests.大概你的意思是在 iostream 上。在这种情况下,流的
clear()
应该可以完成这项工作。Presumably you mean on an iostream. In this case, the stream's
clear()
should do the job.我同意上面的答案,但今晚遇到了同样的问题。所以我想我应该发布一些更多教程的代码,并显示该过程每个步骤的流位置。我可能应该在这里检查一下......之前......我花了一个小时自己解决这个问题。
I agree with the answer above, but ran into this same issue tonight. So I thought I would post some code that's a bit more tutorial and shows the stream position at each step of the process. I probably should have checked here...BEFORE...I spent an hour figuring this out on my own.