4

下一个程序有什么问题?我更喜欢文件到达末尾。

ifstream file("main.cpp", ios::binary | ios::ate);
if (file) {
    //fstream::pos_type size = file.tellg();
    file.seekg(100, fstream::cur);
    if (file.eof()) {
        cout << "eof is true\n";
    }
}

fstream 到达文件末尾,但为什么不回显“eof 为真”。

4

1 回答 1

7

仅当实际读取操作由于到达文件末尾而失败时,才设置 eof 位(因此 eof() 仅返回 true)。一个查找操作(显然)是不够的。

于 2013-05-03T09:57:38.233 回答