如何获取C和/或C ++中所有环境变量的列表?
我知道getenv可以用来读取环境变量,但是如何列出它们呢?
Answers:
使环境变量main()可用作envp参数-字符串的空终止数组:
int main(int argc, char **argv, char **envp)
{
for (char **env = envp; *env != 0; env++)
{
char *thisEnv = *env;
printf("%s\n", thisEnv);
}
return 0;
}
#include<stdio.h>
extern char **environ;
int main() {
int i = 1;
char *s = *environ;
for (; s; i++) {
printf("%s\n", s);
s = *(environ+i);
}
return 0;
}
/usr/bin/env
LPTCH WINAPI GetEnvironmentStrings(void);
http://msdn.microsoft.com/zh-cn/library/ms683187%28VS.85%29.aspx
编辑:仅适用于Windows。