是否自动关闭其文件

Does ofstream close its files automatically?

本文关键字:文件 是否      更新时间:2023-10-16

可能的重复项:
我需要关闭 std::fstream 吗?

int main() {
    ofstream a("a.txt");
    a << "A" << endl;
    //a.close();
}

这工作正常,但是没有必要在程序结束时关闭文件吗?

ofstream将在调用其析构函数时关闭文件,即当它超出范围时。 但是,调用close()肯定不会造成任何伤害,并且向维护程序员表达了您的意图。

调用 close() 还允许您检查 close() 是否成功,因为您还可以检查failbit

http://www.cplusplus.com/reference/iostream/ofstream/close/

如果要

检查结果(成功或失败),则必须调用close。

否则,流的析构函数将尝试为您关闭文件。