是否有可移植的方式来修改环境变量?

问题描述:

我注意到C标准定义的getenv()函数但(7.22.4.2)是否有可移植的方式来修改环境变量?

用于改变环境列表的方法[是] 实施德音响定义。

我想有尽可能多的托管C实现尽可能我的工作方案,有检查的实现必须设置一个环境变量和方法,该方法是什么,还是一个很好的通用方式我将不得不逐案处理吗?另外,这句话的措辞表明,对于每个实施必须有一些方法,理解是否正确?

+0

@DavidHeffernan这样的系统如何实现getenv()? – 2012-02-26 22:34:44

+0

嗯,好的。谢谢 – 2012-02-26 22:37:20

+0

@DavidHeffernan如果你添加你的评论作为答案,我会接受它。 – 2012-02-26 22:37:43

在没有环境变量的系统上可以有一个C的实现。所以通过这个标记,你不能得出所有主机平台都支持环境变量的结论。然而,这非常挑剔。您必须根据具体情况处理此问题,但您几乎可以在任何地方找到putenv()

+0

这样的例子; C编译器对于大多数在微内核而不是Posix/Unix或Dos/Windows风格的操作系统上运行的嵌入式系统)很少有环境变量。 – 2012-03-14 15:23:01

setenv是你需要的章节。

+0

当然,在POSIX系统上。不过,我对POSIX感兴趣的不仅仅是POSIX。 – 2012-02-26 22:31:36

+0

我知道Windows C的实现提供了'setenv'和相当方便的'putenv'。 – 2012-02-26 22:33:46