我有一个程序,它将在与编译的.exe:
相同的目录中创建一个简单的txt文件ofstream output("myfile.txt", ios::binary | ios::trunc);
在我的程序结束时,我将其删除:
remove("myfile.txt");
但是,如果用户意外地意外关闭了cmd窗口,或者他们结束了该过程,我希望删除该文件。
答案 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 );
}
如果流程正常退出,尽管平台详细信息已经退出,这将会运行。