据我所知,putenv()的POSIX / Linux版本没有创建字符串的副本,而是作为参数给出,因此不能保存以便用例如本地char数组作为参数。
我想知道的是putenv()的Microsoft / VC实现是否也有此限制。
正如我所看到的那样,MSDN文档没有明确说明(与通过在Linux上检查man putenv()返回的POSIX文档相反)。
谢谢!
答案 0 :(得分:1)
POSIX函数putenv
已弃用,而不是_putenv
,并且(至少在VS2012中)将无法编译。但是,使用_putenv
并单步执行调试器可确认已复制传递的字符串 。 info的相关代码的一部分(传递的字符串称为name
):