C 是否有修改环境变量的可移植方法?

C 是否有修改环境变量的可移植方法?,c,environment-variables,c11,C,Environment Variables,C11,我注意到C标准定义了getenv()函数,但是(7.22.4.2) 更改环境列表的方法[is] 实施定义 我正试图让我的程序在尽可能多的托管C实现上工作,是否有一个好的通用方法来检查一个实现是否有一个设置环境变量的方法,以及该方法是什么,或者我是否必须根据具体情况进行检查?此外,这句话的措辞向我暗示,每个实现都必须有一些方法,理解正确吗?是您需要的chap。是您需要的chap。在没有环境变量的系统上实现C是可能的。因此,从这个角度来看,您不能断定所有主机平台都支持环境变量。然而,这几乎是吹毛求疵

我注意到C标准定义了getenv()函数,但是(7.22.4.2)

更改环境列表的方法[is] 实施定义


我正试图让我的程序在尽可能多的托管C实现上工作,是否有一个好的通用方法来检查一个实现是否有一个设置环境变量的方法,以及该方法是什么,或者我是否必须根据具体情况进行检查?此外,这句话的措辞向我暗示,每个实现都必须有一些方法,理解正确吗?

是您需要的chap。

是您需要的chap。

在没有环境变量的系统上实现C是可能的。因此,从这个角度来看,您不能断定所有主机平台都支持环境变量。然而,这几乎是吹毛求疵。您必须逐个处理这个问题,但您会发现几乎到处都是
putenv()

在没有环境变量的系统上实现C是可能的。因此,从这个角度来看,您不能断定所有主机平台都支持环境变量。然而,这几乎是吹毛求疵。您必须根据具体情况处理此问题,但您会发现几乎到处都是
putenv()

当然,在POSIX系统上。不过,我感兴趣的不仅仅是POSIX。据我所知,Windows C实现提供了
setenv
和更方便的
putenv
。当然,在POSIX系统上。不过,我对POSIX不只是感兴趣。据我所知,Windows C实现提供了
setenv
和更方便的
putenv
@DavidHeffernan,这样的系统如何实现getenv()?@DavidHeffernan如果您添加您的评论作为答案,我会接受。完成,但我还是暂时搁置这个问题,因为你很可能会得到更好的答案,如果没有被接受的答案,人们更有可能添加这样的答案。@DavidHeffernan这样一个系统如何实现getenv()?@DavidHeffernan如果你添加你的评论作为答案,我会接受。完成,但我会让这个问题搁置一段时间,因为你很可能会得到更好的答案,如果没有公认的答案,人们更有可能添加这样的答案;大多数运行在微核上而不是Posix/Unix或Dos/Windows风格操作系统上的嵌入式系统的C编译器很少有环境变量;运行在微核上而不是Posix/Unix或Dos/Windows风格操作系统上的大多数嵌入式系统的C编译器很少有环境变量。