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
とeof = fail = bad = FALSE
. 正常ですか?