現在、いくつかの IO 操作のクラスを作成しています。一部の関数は、IO 操作が成功したかどうかを返します。ファイルを読んでいる場合、IO 操作が成功したかどうかを返すstd::ifstream::good()
必要があるのか 、それとも示す必要があるのか 疑問に思います。!std::ifstream::fail()
違いはeof
ビットから来ており、正しく理解しているかどうかはわかりません。
4 バイト (1 整数) のバイナリ ファイルがあるとします。
この整数を読み取ったとします。
私の質問は次のとおりです。eof
フラグは、この操作の後、または次の IO 操作 (失敗する) の後に設定されますか?
この操作の直後に設定した場合、読み取り関数が を返す場合std::ifstream::good()
、結果は次のようになりますfalse
(ただし、整数は正しく読み取られました)。
eof ビットがいつ設定され、関数の最後に何を返せばよいか説明してもらえますか?