0

我不能使用setenv()fromstdlib.h用于 C99 标准编译器,因为它不可用。在 C99 中是否有任何其他功能可以设置环境变量?

4

1 回答 1

5

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

这意味着在 C99 中没有执行此操作的任何标准方法,您必须使用特定于平台的代码来设置环境。

在 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.

于 2014-01-13T14:24:35.313 回答