这个shell脚本
#!/bin/csh
set VAR=12345
echo $VAR
Run Code Online (Sandbox Code Playgroud)
将和平地输出12345在shell.我需要使用C++在代码的某些部分执行相同的操作:
string str = "12345";
retValue="set var1= "+str;
system(retValue1.c_str());
system("echo $var1");
Run Code Online (Sandbox Code Playgroud)
这不会创建系统变量var1和echos null,这是可以理解的,因为每个系统函数都会创建具有不同环境变量的子进程.所以我使用一个系统函数将它们组合如下......但它再次回声为null.
retValue="set var1= "+str;
retValue1=retValue+";\n echo $var1";
system(retValue1.c_str());
Run Code Online (Sandbox Code Playgroud)
有人可以指导我通过C++设置系统变量.非常感谢提前!