putenv()的VC实现是否支持局部变量作为参数?

时间:2013-12-17 10:48:00

标签: visual-c++ environment-variables

据我所知,putenv()的POSIX / Linux版本没有创建字符串的副本,而是作为参数给出,因此不能保存以便用例如本地char数组作为参数。

我想知道的是putenv()的Microsoft / VC实现是否也有此限制。

正如我所看到的那样,MSDN文档没有明确说明(与通过在Linux上检查man putenv()返回的POSIX文档相反)。

谢谢!

1 个答案:

答案 0 :(得分:1)

POSIX函数putenv已弃用,而不是_putenv,并且(至少在VS2012中)将无法编译。但是,使用_putenv并单步执行调试器可确认已复制传递的字符串 。 info的相关代码的一部分(传递的字符串称为name):

screenshot