在 C++ 中,是否存在std::ifstream open()
可以成功但std::ifstream good()
可以为 false 的情况?
编辑:用 g++ 4.7.1 测试
#include <iostream>
#include <fstream>
int main(int argc, char *argv[])
{
std::ifstream filestream("testfile");
std::cout<<filestream.good()<<std::endl;
std::cout<<filestream.eof()<<std::endl;
std::cout<<filestream.fail()<<std::endl;
std::cout<<filestream.bad()<<std::endl;
return 0;
}
将返回 : 1, 0, 0, 0 表示一个空文件,这意味着good = TRUE
and eof = fail = bad = FALSE
。正常吗?