c++ - 我可以在 system() 中使用两个字符串吗?

标签 c++

<分区>

我正在尝试做这样的事情:

     {
      cout << "command: ";
      cin >> m;
      cout << "option: ";
      cin >> o;
      system(m+o);
     }

以便用户可以选择要运行的命令和选项

最佳答案

system ()函数需要一个 char * 参数,你也忘记了空格分隔。你应该这样做:

system(std::string(m + " " + o).c_str())

无论如何,我强烈建议您不要使用 system () 函数,因为它是一个很大的安全漏洞。

有关这方面的更多详细信息,我建议您阅读以下帖子:

关于c++ - 我可以在 system() 中使用两个字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611719/

相关文章:

c++ - Visual Studio 中的 native C++ 程序

c++ - 使用 const CString& 而不是单独使用 CString 作为函数参数是否有任何性能优势?

c++ - 嵌套类显示成员值

C++引用参数未更新

c++ - CMake 项目编译良好的 SHARED 库但不使用 STATIC 库

c++ - 在函数模板中的类型之间转换

c++ - 该 vector 按哪个值排序?

c++ - theSize/2 是什么意思 percolateDown(i) 函数?

c++ - 构造函数采用初始化列表

c++ - 桶排序和计数排序的场景