如何从c++传递参数到Linux shell

how to pass parameter from c++ to linux shell

本文关键字:参数 Linux shell c++      更新时间:2023-10-16

我的问题可能很简单,但是我在论坛上找不到我想要的。

我写c++程序,最近学了一些通用规则。此外,我通常在linux环境下编程,并使用g++(c++)编译器。

我想要的东西,而一个c++程序正在运行,它传递一些参数到linux命令窗口,并在那里执行一些命令。在完成所有这些工作后,它会带着一些参数转动自己。

特别是,c++程序获得非常具体的数据(例如整数传感器数据)并将其传递给命令行,然后可能传递给shell脚本,然后获得shell脚本的结果(例如错误代码,如int 0或1)。我想编写与shell良好交互的程序。

更具体地说,如果您在linux命令行中写入a=3,将会有一个名为a的本地参数,其值为3。我想从c++程序传递这个3值。我希望有这样一个函数:

int value=3;            
system("a=%d",value); //(notice:this is not a real code!)
我希望我能解释我的请求。如果我说错了,我很抱歉,但正如我所说,我是一个新的c++程序员。

注意:我使用了sys/sycall .h和stdlib.h库中的一些函数

In C

int value = 3;
char command[255];
sprintf (command, "a = %dn", value);
int result = system (command);
c++中的

int value = 3;
std::stringstream ss ("a = "); //include <sstream>!
ss << value;
int result = system (ss.str ().c_str ());