int main() {
ofstream a("a.txt");
a << "A" << endl;
//a.close();
}
这样可以正常工作,但是不需要在程序结束时关闭文件吗?
答案 0 :(得分:20)
ofstream
将在调用析构函数时关闭文件,即当它超出范围时。但是,调用close()
肯定不会造成任何伤害,并表达了您对维护程序员的意图。
调用close()
还可以检查close()是否成功,因为您还可以检查failbit
:
答案 1 :(得分:5)
如果要检查结果(成功或失败),必须调用close。
否则,流的析构函数将尝试为您关闭文件。