【发布时间】:2013-05-13 13:26:22
【问题描述】:
我有一个从二进制文件中读取“块”的类。我是这样用的:
while(log.HasNextBlock()) {
block = log.GetNextBlock();
}
我的问题是如果我在文件末尾,我需要检查函数 HasNextBlock() 的内部,在这种情况下我会返回 false。我想使用 feof() 来检查,但我读到我必须在调用 feof() 之前执行读取操作,但在我的情况下,读取操作是在 GetNextBlock() 中完成的,即在调用 feof 之后()。
有没有一种方法可以查看我是否在二进制文件的末尾而不执行修改“上下文”的操作(即不更改文件中的当前位置或任何其他变量)?
感谢您的帮助! :)
【问题讨论】:
-
试着读一个字母然后ungetc。
-
感谢大家的回答,但我只是找到了一种方法(见我的回答)。再次感谢。