C ++ - 程序终止后如何执行某些任务

时间:2015-11-26 19:59:10

标签: c++

我在C ++中编写了自动代码:

#include <fstream>
#include <cstdlib>
#include <string>
using namespace std;

int main()
{
    ofstream sf;
    sf.open("script_temp_file_id_b01.py", ios::out);
    system("attrib script_temp_file_id_b01.py +h +s +a");
    sf << "name = input(\"Enter your name: \")\n";
    sf << "print(\"Hello\", name)";
    sf.close();
    system("script_temp_file_id_b01.py");
    system("attrib script_temp_file_id_b01.py -h -s -a");
    system("del script_temp_file_id_b01.py");
    return 0;
}

这个程序打开一个文件并在其中写下自爆的python代码:

name = input("Enter your name: ")
print("Hello", name)

然后运行它。

当程序运行此代码时:

system("script_temp_file_id_b01.py");

脚本将被执行。

但是如果用户在脚本执行期间关闭程序,则以下两行将不会执行,并且脚本文件将不会删除:

system("attrib script_temp_file_id_b01.py -h -s -a");
system("del script_temp_file_id_b01.py");

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这取决于你的程序如何运行。如果使用CTRL-C中断程序执行,则可以捕获此事件。在这种情况下,this answer会对您有所帮助。

通常,执行后无法从程序中运行代码。但是你可以捕捉到大多数可能导致程序在早期被杀的事件。