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

use*_*470 0 c c99 setenv

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

Geo*_*roy 5

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

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

在freebsd 手册页上:

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


setenv,putenv等等应该在任何POSIX系统上定义.

如果你正在使用Windows,看到这个其他问题该谈_putenv_s.