C++ 在C+中枚举环境变量+;(跨平台)

C++ 在C+中枚举环境变量+;(跨平台),c++,cross-platform,environment-variables,C++,Cross Platform,Environment Variables,只是一个简单的问题,我希望以前没有人问过。我想知道一种列出一个流程的所有指定环境变量的方法。我需要它是跨Windows和UNIX操作系统的跨平台的 我知道getenv(),但那只检索变量的值。我需要生成它们的列表 谢谢你的帮助 看起来您只是在寻找main的第三个参数,一个进程环境变量的字符** 给你: 该表单的原型是intmain(intargc,char**argv,char**env)您可能正在查找全局变量。如果不是一个完全重复的dup,则需要一个POSIX方法。另一个问题的答案是非标准的,

只是一个简单的问题,我希望以前没有人问过。我想知道一种列出一个流程的所有指定环境变量的方法。我需要它是跨Windows和UNIX操作系统的跨平台的

我知道
getenv()
,但那只检索变量的值。我需要生成它们的列表


谢谢你的帮助

看起来您只是在寻找main的第三个参数,一个进程环境变量的字符**

给你:


该表单的原型是
intmain(intargc,char**argv,char**env)
您可能正在查找全局变量。

如果不是一个完全重复的dup,则需要一个POSIX方法。另一个问题的答案是非标准的,尽管一个不被接受的答案是POSIX。“跨类似Windows和UNIX的操作系统”。@Electro-OP特别提到Windows和UNIX,并且根据wiki页面,这两种操作系统都适用。如果这不符合要求,我深表歉意。也许这是我有限的经验,但在各种unixen、os-x和windows之间,我没有遇到过一个平台不工作。如果需要非ANSI字符,它在windows上不工作。为此,您必须使用
intwmain(int,wchar\u t**,wchar\u t**)
。从我看到的所有指标来看,这就是POSIX。@Tibor Windows也有它,但您不应该像POSIX那样声明它。在Windows上,它在cstdlib中为您声明。