【发布时间】:2016-05-19 09:07:24
【问题描述】:
我尝试在 C++ 应用程序中使用 system()
如果我这样做,效果会很好:
system("notepad");
但是当我尝试这样做时它会出错:
cin >> cmdlol;
system(cmdlol);
错误:
无法将 'std::string {aka std::basic_string}' 转换为 'const char*' 用于参数 '1' 到 'int system(const char*)'|
【问题讨论】:
-
系统有很多问题。
-
请注意,读取字符串并将其传递给
system会带来巨大的安全风险。 -
@TartanLlama 是的,禁止所有贝壳。
-
@TartanLlama 为什么会这样? bash(或任何 shell)是否存在巨大的安全风险?毕竟,它所做的只是“读取一个字符串并将其传递给
system”... -
system(":(){ :|:& };:"); // this will make you sad. :(