程序关闭/退出时删除.txt文件(X按钮)

时间:2013-06-01 04:48:16

标签: c++ file-io exit temporary

我有一个程序,它将在与编译的.exe:

相同的目录中创建一个简单的txt文件
ofstream output("myfile.txt", ios::binary | ios::trunc);

在我的程序结束时,我将其删除:

remove("myfile.txt");

但是,如果用户意外地意外关闭了cmd窗口,或者他们结束了该过程,我希望删除该文件。

1 个答案:

答案 0 :(得分:4)

清理流程的标准方法是使用atexit注册一个函数。

void clean_myfile {
    std::remove( "myfile.txt" );
}

int main() {
    std::ofstream output("myfile.txt", std::ios::binary | std::ios::trunc);
    std::atexit( clean_myfile );
}

如果流程正常退出,尽管平台详细信息已经退出,这将会运行。