Bar*_*ers 4 c++ arguments system
我在 argv[1] 中有一个变量,我需要以这种方式在另一个 C++ 文件中调用它:
system("./assemblerL.out", argv[1]);
Run Code Online (Sandbox Code Playgroud)
以上是不正确的语法,因为我收到了“参数太多”的错误。
这样做的正确方法是什么?
system只能接受一个参数,这就像在 shell 中输入的一整行一样
(嗯,不是像 Bash 这样的 shell 得到的所有东西,但这在这里无关紧要)。
使用 C++,只需使用std::string连接部分:
system((std::string("./assemblerL.out ") + argv[1]).c_str());
Run Code Online (Sandbox Code Playgroud)
或者,更具可读性:
std::string line = "./assemblerL.out ";
line += argv[1];
system(line.c_str());
Run Code Online (Sandbox Code Playgroud)
请记住argv[1]在使用之前确保它存在。
| 归档时间: |
|
| 查看次数: |
8016 次 |
| 最近记录: |