linux c++ 一个函数里调用另一个程序并传参
时间: 2023-07-30 20:05:53 浏览: 181
在 Linux 下,可以使用 `system` 函数调用另一个程序,并传递参数。`system` 函数的原型如下:
```c++
int system(const char *command);
```
其中 `command` 参数表示要执行的命令,可以包含参数。例如,要在 C++ 中调用 `ls -l /tmp` 命令,可以这样写:
```c++
#include <cstdlib>
int main()
{
system("ls -l /tmp");
return 0;
}
```
如果要在程序中动态生成命令,可以使用字符串拼接的方式。例如,要在 C++ 中调用 `echo` 命令输出一个变量的值,可以这样写:
```c++
#include <cstdlib>
#include <string>
int main()
{
int value = 123;
std::string command = "echo " + std::to_string(value);
system(command.c_str());
return 0;
}
```
注意,`system` 函数会阻塞当前进程,直到调用的程序运行结束。如果需要异步执行程序,可以使用 `fork` 和 `exec` 函数组合实现。
阅读全文