3
나는 우리가 할 수있는 경우에 알고 싶습니다 :실용적인 경우 bool (std :: ifstream)! = std :: ifstream :: good()?
bool(std::ifstream) != std::ifstream::good()
의 차이는 bool(std::ifstream)
가 std::ifstream::good()
테스트 반면 eof
비트를 테스트하지 않습니다. 그러나 실질적으로 파일의 끝에서 뭔가를 읽으려고하면 eof
비트가 발생합니다. 그러나 이것을 시도하자마자 fail
또는 bad
비트가 설정되어 있다고 생각합니다.
따라서 어떤 경우에만 eof
비트를 올릴 수 있습니까?
다른 오류 플래그와 독립적으로 eof 비트를 수동으로 설정할 수 있지만 어떤 상황에서 그렇게할지는 모르겠습니다. 'std :: ifstream :: setstate (std :: ios :: eofbit)'를 참조하십시오. – nebain