putenv函数windows和linux的不同

putenv函数windows和linux的不同


对于putenv函数,我们都知道是设置环境变量,用法如下:

功 能: 把字符串加到当前环境中

用 法: int putenv(char *envvar);

函数说明: putenv()用来改变或增加环境变量的内容。参数enwar的格式为enwar=value,如果该环境变量原先存在,则变量内容会依参数enwar改变,否则此参数内容会成为新的环境变量

返回值: 执行成功则返回0,有错误发生则返回-1


例如:putenv(“envtest=c:\windows”)


最近项目中发现,该函数在windows和linux中有个小小的不同,但很可能就是因为这个不同而导致bug。这个不同点在于putenv还可以删除环境变量。

windows环境下调用putenv(“envtest=”),就把该环境变量删除了

linux环境下调用putenv(“envtest=”),则是设置该环境变量为空,要删除,则需要调用putenv(“envtest”)。

就是一个等号的差别,导致该函数在不同系统中功能不尽相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值