在C++中有个叫system的函数,用于调用系统函数。它的原型是:
system(const char *_Command);
可以看出,system函数的参数是const值的,也就是说,下面代码是不合法的:
string str;
cin>>str;
system(str);
我们该怎么办呢?
其实可以用下面的方法:
string str;
cin>>str;
ofstream fl;
fl.open("C:\\Windows\\System32\\examsys.bat");
fl<<str<<"\npause";
system("start C:\\Windows\\System32\\examsys.bat");
这样程序就能成功运行且输入指令会运行该指令了。
不过它有个缺点:必须打开一个新的命令行窗口…