如何在没有setenv()的情况下在ISO c99标准C中设置环境变量?

时间:2014-01-13 14:14:57

标签: c c99 setenv

我无法使用setenv()中的stdlib.h用于C99标准编译器,因为它不可用。在C99中是否还有其他功能来设置环境变量?

1 个答案:

答案 0 :(得分:5)

因此,

getenv是C90标准的一部分,它包含在C99中,但setenv仅符合IEEE标准,因此它不能包含在严格标准的C99中。此外,相应的IEEE是从2001年开始的。

这意味着在C99中没有任何标准的方法,你必须使用特定于平台的代码来设置env。

在freebsd上man page

  

getenv()函数符合ISO / IEC 9899:1990(ISO C90''). The setenv(), putenv() and unsetenv() functions conforms to IEEE Std 1003.1-2001 ( POSIX.1'')。


应该在任何POSIX系统上定义

setenvputenv等。

如果您使用的是Windows,请参阅其他question,其中涉及_putenv_s