ofstream对象在abort()上的行为不同,并且在ofstream.close()之前掉电?

时间:2018-09-12 09:14:20

标签: ofstream

我发现 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(),但是在断电情况下没有?

0 个答案:

没有答案