我发现 ofstream 的行为不同,如果 ofstream.close()由于在 close()之前中止而未调用,并且在 close()之前。
注意:磁盘上没有文件。
1。 与abort()
int _tmain(int argc, _TCHAR* argv[])
{
ofstream o("new.txt");
o<<"new file data";
abort();
o.close();
return 0;
}
输出:使用“新文件数据”创建的文件。
2。 断电
int _tmain(int argc, _TCHAR* argv[])
{
ofstream o("new.txt");
o<<"new file data";
//power down or stop debug here
o.close();
return 0;
}
输出:已创建空文件。
使用abort()似乎从fstream析构函数中调用了close(),但是在断电情况下没有?