int main() {
ofstream a("a.txt");
a << "A" << endl;
//a.close();
}
これは問題なく動作しますが、プログラムの最後でファイルを閉じる必要はありませんか?
int main() {
ofstream a("a.txt");
a << "A" << endl;
//a.close();
}
これは問題なく動作しますが、プログラムの最後でファイルを閉じる必要はありませんか?
ofstream
デストラクタが呼び出されたとき、つまりスコープ外になったときにファイルを閉じます。ただし、呼び出すclose()
ことは確かに害を及ぼすことはなく、保守プログラマーに意図を表明します。
を呼び出すclose()
と、 close() が成功したかどうかを確認することもできます。これは、以下も確認できるためですfailbit
。
結果(成功または失敗)を確認したい場合は、closeを呼び出す必要があります。
それ以外の場合、ストリームのデストラクタはファイルを閉じようとします。