fstream对象的文件结束

时间:2015-10-04 06:31:57

标签: c++ file

我遇到了这个代码,它处理文件的简单读取并显示其内容。

#include <iostream>
#include <fstream>

int main()
{   
    ...
    fstream file;
    file.open("TEXT.txt", ios::in);
    file.seekg(0);
    while(file) //does file returns 0 when eof is reached?
    {
        file.get(ch);
        cout << ch;
    }
    return 0;
}

我的问题是while (file)如何意识到文件的结尾已经到达。

2 个答案:

答案 0 :(得分:5)

流实现boolean cast operator,如果流仍然正常则返回true,如果出现错误或eof,则返回false。

答案 1 :(得分:0)

正如其他人指出你应该使用类似

之类的东西
char ch;
while (file.get(ch)) {
    ...
}