如何在 C++ 中使用 setenv() 导出变量?

2024-01-01

我需要导出几个变量,使它们在命令行中如下所示

export ROS_HOSTNAME=xxx

如何在 C++ 中使用 setenv() 来实现这一目标?

Thanks.


来自setenv()手动输入:

SYNOPSIS

#include <stdlib.h>  
int setenv(const char *envname, const char *envval, int overwrite);

描述
setenv() 函数应在调用进程的环境中更新或添加变量。 envname 参数指向一个包含环境变量名称的字符串 被添加或更改。环境变量应设置为 envval 指向的值。如果 envname 指向包含“=”字符的字符串,该函数将失败。如果 envname 命名的环境变量已存在且 overwrite 的值不为零,函数应返回成功并更新环境。如果环境 envname 命名的变量已存在且覆盖值为零,函数应返回成功,环境保持不变。

如果应用程序修改了环境或其指向的指针,则 setenv() 的行为是未定义的。 setenv() 函数应更新指向哪个环境的指针列表 点。

该函数复制 envname 和 envval 描述的字符串。

setenv() 函数不需要是可重入的。不需要可重入的函数不需要是线程安全的。

返回值
成功完成后,应返回零。否则,返回-1,设置errno表示错误,环境不变。

所以你应该打电话

setenv("ROS_HOSTNAME","xxx",1); // does overwrite

or

setenv("ROS_HOSTNAME","xxx",0); // does not overwrite

对于你的情况。取决于您是否想覆盖可能存在的定义。

NOTE:

你不能使用setenv()将变量从进程导出到调用进程(shell)! 使用 fork 创建的子进程将继承当前进程环境定义,因此您的更改和添加也将继承。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C++ 中使用 setenv() 导出变量? 的相关文章

  • 并行运行多个任务

    我有一个代理列表 每个代理都会访问不同的站点并从站点中提取所需的数据 目前它一次只做一个 但我希望同时运行 10 20 个任务 这样它就可以一次性从 20 个站点下载 而不是只下载一个 这是我目前正在做的事情 private async T
  • 如何使用T4从一个模板同时生成两个文件?

    我遇到的情况是 我需要生成两个 CSharp 代码文件 它们的代码几乎相同 但方法的输入和输出类型的命名空间不同 事实上 每个文件都针对特定国家 地区 并且类型来自特定国家 地区的 WSDL 我正在围绕服务编写一些包装器 逻辑完全相同 但从
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • 如何以编程方式删除受信任的根证书颁发机构中的证书?

    我需要能够从组织中的每台电脑中删除特定的证书 是的 我可以逐个座位 但我要到周四才能完成 而且我没有人力逐个座位 是否有使用 C 的编程方式来执行此操作 我认为你不需要编写任何 C 看看certmgr exe del http msdn m
  • 获取列表框中视图中的项目

    我有一个 ListBox 其属性 VirtualizingStackPanel VirtualizationMode 设置为 回收 我正在绑定一个自定义集合 实现IList and IList
  • 如何在 C# 中以编程方式将行添加到 DataGrid?

    正如标题所述 我正在尝试使用 C 以编程方式将行添加到 DataGrid 但我似乎无法使其工作 这是我到目前为止所拥有的 I have a DataGrid declared as dg in the XAML foreach string
  • Windows Phone 7 - ScrollViewer 值已更改

    我一直在寻找解决方案 但无法找到正确的解决方案 我的网格宽度为 960 并且有ScrollViewer在里面 现在我想知道滚动时滚动的值 水平偏移 我找到的所有解决方案都是针对 wpf silverlight 的 它对我不起作用 Edit
  • 如何在 Linux 上重新实现(或包装)系统调用函数?

    假设我想完全接管 open 系统调用 也许要包装实际的系统调用并执行一些日志记录 一种方法是使用 LD PRELOAD http scaryreasoner wordpress com 2007 11 17 using ld preload
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 从图像创建半透明光标

    是否可以从图像创建光标并使其半透明 我目前正在拍摄自定义图像并覆盖鼠标光标图像 如果我可以将其设为半透明 那就太好了 但不是必需的 销售人员喜欢闪亮的 目前正在做这样的事情 Image cursorImage customImage Get
  • X 轴和 Z 轴上的 Quaternion.Slerp,无 Y 轴

    I am trying to rotate the Player about X Y and Z axis The Y axis should not move from last angle Example if I rotate 45
  • 当我尝试传递临时地址作为参数时,它是一个 UB 吗?

    对于以下 C 代码 include
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 为什么我可以在另一个函数中定义一个函数?

    请参阅下面的代码 我在另一个函数中定义了一个函数 void test1 void void test2 void printf test2 n printf test1 n int main void test1 return 0 这个用法
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • 跟踪白色背景中的白球(Python/OpenCV)

    我在 Python 3 中使用 OpenCV 来检测白场上的白 黑球 并给出它的精确 x y 半径 和颜色 我使用函数 cv2 Canny 和 cv2 findContours 来找到它 但问题是 cv2 Canny 并不总是检测到圆的完整
  • 使用空的weak_ptr作为参数调用map::count安全吗?

    打电话安全吗map count http www cplusplus com reference map map count on an 未初始化因此为空weak ptr http en cppreference com w cpp mem
  • Adobe Illustrator 中的折线简化如何工作?

    我正在开发一个记录笔划的应用程序 您可以使用定点设备来绘制笔划 在上图中 我绘制了一个笔划 其中包含 453 个数据点 我的目标是大幅减少数据点的数量 同时仍然保持原始笔画的形状 对于那些感兴趣的人 上图笔画的坐标可以作为GitHub 上的

随机推荐

  • AngularJS工厂http返回空

    我是第一次尝试 AngularJS 我正在使用工厂从 http get 请求获取 JSON 数据 但在 ajax 请求完成之前 该对象返回为空 Factory myDemo factory photosFactory function ht
  • AWS API网关代理响应失败/丢弃

    Problem 使用 Postman 时 AWS API Gateway 代理不会传回我的后端服务的响应 但适用于curl 描述 我有一个想要通过 AWS API 网关公开的后端服务 在这种情况下 网关的使用纯粹是作为 HTTP 代理 所以
  • 是否可以在 gridview 的单元格中滚动?

    我的网格视图中有一些记录 但每条记录都存在一个问题 有一个单元格包含大量数据 我仍然想显示数据并允许用户向下滚动阅读 如果他们感兴趣 是否有可能允许在该单元格中滚动 EDIT 这是我参考的css AspNet GridView overfl
  • 为什么 -drawRect 比使用 CALayers/UIViews 用于 UITableViews 更快?

    我已经能听到一千名 iOS 开发者内心的痛苦 不 我不是菜鸟 为什么 UITableView 的 drawRect 性能比多个视图更快 据我所知 合成操作是在 GPU 上进行的 但合成是一种一次性操作 一旦这些层被提交到内存中 它就与缓存缓
  • 在 ASP.Net Ajax Async-Postback without JQuery 之后滚动到页面顶部

    我需要在更新面板中的异步回发后滚动到页面顶部 我尝试了几种方法 虽然它们都滚动到页面顶部 但它们都被 ASP Net Ajax 覆盖 从而将页面返回到发生回发时的位置 我已经在页面指令中设置MaintainScrollPositionOnP
  • 重用Android锁定模式

    我正在编写一个应用程序 应该用密码保护它 是否可以从具有不同图案的应用程序中使用 Android 的图案锁屏 而不是构建一个新的锁屏 首先 您必须通过手动设置来设置图案锁定 然后您可以使用下面的代码接收事件 import android a
  • 在 NodeJS 中创建可以处理多个安全域的反向代理

    我正在尝试在 NodeJS 中创建反向代理 但我一直遇到这样的问题 即使我想为多个域提供服务 我也只能在同一端口 443 上提供一组证书 密钥对 我已经完成了研究并不断遇到同样的障碍 可以从非安全本地源 http 本地访问和服务 https
  • 点加速最快路径

    这只是我自己想出的东西 但这似乎是一个有趣的问题 它让我难住了 您在二维空间中有一组点 其中一个点指定为 起点 一个点指定为 终点 每个点都有坐标 以米为单位距原点 但也有一个 加速度数 以米 秒的 delta V 为单位 到达某个点 包括
  • 如何在不使用 ZipArchive 的情况下在 Windows 8 Metro 中解压缩 ZIP 文件 (zlib.net)

    我有一个用 C 编写的 Windows 8 Metro 应用程序 我需要打开一个 ZIP 文件并读取其中包含的 XML 文件 我使用了 ZipArchive 类 但它在当前版本中出现了错误 并且不再起作用 还有别的办法吗 我尝试用谷歌搜索其
  • 在“堆栈”>“不透明度”>“可滚动”下换行时出现颤动键盘问题

    在 flutter 应用程序中 当输入字段包含在 Scrollable Opacity Stack 中时 当键盘出现时 可滚动视图未正确放置 当键盘出现时如何正确地使可滚动视图 如果输入字段没有包含在 Scrollable 中 则键盘根本不
  • Docker Toolbox/Mac 安装后设置 DOCKER_HOST

    麦克在这里 我通过安装 Docker工具箱 https www docker com toolbox所有 Docker 命令都会产生相同的错误 myuser mymachine tmp docker info Get http var ru
  • Android 上使用外部 Jar 时出现 java.lang.NoSuchMethodError sun.misc.Unsafe

    我正在尝试在 Android 上使用 Java 库 jar 它使用sun misc Unsafe 对库的调用会抛出 java lang NoSuchMethodError No virtual method ensureClassIniti
  • 将文件从一个 Node js 服务器发送到另一台

    所以在第一台服务器上我有这样的路线 const express require express const router express Router const FormData require form data const fetch
  • Node.js 异步系列函数的参数

    我需要执行如下代码 function taskFirst k v console log k v function taskSecond k v console log k v function run var g1 Something v
  • PDB不会在断点处停止

    我对直接使用 pdb 进行调试还很陌生 并且在调试 Django 应用程序时遇到了一些问题 这是我正在做的事情 python m pdb manage py runserver pdb b core views py 22 Breakpoi
  • 如何在reactJS中自定义reactstrap下拉菜单

    使用 ReactJS 创建示例应用程序并为 boostrap 安装 Reactstrap 我在工作正常的应用程序中使用下拉组件 代码是
  • 在 Erlang 中解析 JSON

    我有一段 JSON 字符串 我想在 Erlang 中解析它 看起来像 id1 str1 str2 str3 id2 str4 str5 我查看了 mochijson2 和其他几个 JSON 解析器 但我真的不知道该怎么做 非常感谢任何帮助
  • Jasmine 单元测试中模拟 AngularJS 模块依赖关系

    我试图在将其他模块作为依赖项的模块内对控制器代码进行单元测试 但无法弄清楚如何正确模拟它们 我正在使用 Jasmine 框架并使用 Karma Testaulous 运行我的测试 模块代码 var app angular module ev
  • 如何检查 DNS 服务器是否设置为“自动获取”

    当我使用网卡设置的 DNSServerSearchOrder 属性获取服务器 DNS 设置时 它会返回自动解析到的 DNS 服务器 而不是指示其动态的值 例如 null 例如 要将我的 DNS 服务器设置为 自动获取 我会执行以下操作 Ma
  • 如何在 C++ 中使用 setenv() 导出变量?

    我需要导出几个变量 使它们在命令行中如下所示 export ROS HOSTNAME xxx 如何在 C 中使用 setenv 来实现这一目标 Thanks 来自setenv 手动输入 SYNOPSIS include