C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

前言

自删除: 顾名思义,这个程序功能很简单,就是实现程序的自删除功能。

C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

 

是不是感到很困惑,一个程序自己运行着,怎样把自己关掉后,再把自己删除呢?结束自己进程的时候,自己也就结束了,不会再继续执行任何代码了。在程序执行的时候,文件处于打开状态,那也不能把自己给删了。是不是想不通啊,想不通就对了。

C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

 

想不通找找镜子就明白了哈哈

如果大家对于学习C++有任何问题,学习方法,学习路线,如何学习有效率的问题,可以随时来咨询我,或者缺少系统学习资料的,我做这行年头比较久,自认为还是比较有经验的,可以帮助大家提出建设性建议,下面是我的C++交流qun696399210,有任何问题可以随时来咨询我。

实现原理

程序自删除实现的思路便是:程序创建一个批处理文件,并创建进程执行,然后程序结束进程;批处理所做的功能便是延时5秒后,删除指定程序然后再自删除。这样,程序自删除功能便实现了。

C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

 

是不是很简单啊,马上就带你实现一下

测试案例

1.测试案例程序

C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

 

就是个hello world

2. 批处理自删除文件

延时5秒

删除指定文件

删除批处理自身

代码段:

数据成员定义:

构造批处理文件路径

C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

 

生成批处理文件

C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

 

创建新的进程执行cmd命令

C语言禁区之程序自身删除自身?是时候展现真正的技术之自删除

如果大家对于学习C++有任何问题,学习方法,学习路线,如何学习有效率的问题,可以随时来咨询我,或者缺少系统学习资料的,我做这行年头比较久,自认为还是比较有经验的,可以帮助大家提出建设性建议,下面是我的C++交流qun696399210,有任何问题可以随时来咨询我。