【发布时间】:2014-12-01 14:24:37
【问题描述】:
我对 c++(11) 输入流,特别是文件流有疑问。在我用这个打开一个新流之后:
ifstream stream;
stream.open("C:\somefile.txt");
当我尝试从中读取并且读取操作遇到 EOM 字节 (0x19) 时,流被设置为 badbit,这不是我想要的。我想读到文件的定义结束。这就是我的阅读方式
char buffer[8];
stream.read(buffer, 8);
然后我这样检查:
if(stream.fail()) return -1;
如何在不停留在 EOM 字节(或相等)的情况下从流中读取?
【问题讨论】:
-
文件有多大?也许您已经尝试从文件末尾之外读取?你能发个Minimal, Complete, and Verifiable example 给我们看看吗?