本文介绍了如何使用setenv()在c ++中导出一个变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要导出几个变量,使它们在命令行中类似于以下内容。
export ROS_HOSTNAME = xxx
如何在c ++中使用setenv()来实现?
谢谢。
解决方案
从 setenv()
手动输入:
/ p>
setenv(ROS_HOSTNAME,xxx,1); //覆盖
或
setenv(ROS_HOSTNAME,xxx,0); //不会覆盖
。
>不能使用
setenv()
将变量从进程导出到调用进程(shell)! 使用fork创建的子进程将继承当前进程环境定义,因此也将继承您的更改和添加。
I need to export several variables such that they look like the following in the command line
export ROS_HOSTNAME=xxx
How do I use setenv() in c++ to achieve that?
Thanks.
解决方案
From the setenv()
manual entry:
So you should call
setenv("ROS_HOSTNAME","xxx",1); // does overwrite
or
setenv("ROS_HOSTNAME","xxx",0); // does not overwrite
for your case. Depends, if you want to overwrite a possibly existing definition.
NOTE:
You can't use setenv()
to export variables from your process to the calling process (shell)!Child processes created with fork, will inherit the current processes environment definitions, thus your changes and additions as well.
这篇关于如何使用setenv()在c ++中导出一个变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!