这个shell脚本
#!/bin/csh
set VAR=12345
echo $VAR
将在 shell 中和平地输出 12345。
我需要使用 C++ 在代码的某些部分执行相同的操作:
string str = "12345";
retValue="set var1= "+str;
system(retValue1.c_str());
system("echo $var1");
这不会创建系统变量 var1 并 echo null ,这是可以理解的,因为每个系统函数都会创建具有不同环境变量的子进程。因此,我仅使用一个系统函数将它们组合起来......但它再次回显 null。
retValue="set var1= "+str;
retValue1=retValue+";\n echo $var1";
system(retValue1.c_str());
有人可以指导我通过 C++ 设置系统变量吗?
预先非常感谢!
Look at setenv http://linux.die.net/man/3/setenv in <cstdlib>
:
#include <cstdlib>
setenv("VAR", "12345", true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)