Ale*_*own 108
环境变量main()可用作envp参数 - 以null结尾的字符串数组:
int main(int argc, char **argv, char **envp)
{
for (char **env = envp; *env != 0; env++)
{
char *thisEnv = *env;
printf("%s\n", thisEnv);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
use*_*017 53
#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;
}
Run Code Online (Sandbox Code Playgroud)
Ski*_*izz 10
您的编译器可能会为主函数提供非标准扩展,以提供其他环境变量信息.MS编译器和Unix的大多数版本都有这个版本的main:
int main (int argc, char **argv, char **envp)
Run Code Online (Sandbox Code Playgroud)
其中第三个参数是环境变量信息 - 使用调试器来查看格式是什么 - 可能是一个空终止的字符串指针列表.
LPTCH WINAPI GetEnvironmentStrings(void);
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/ms683187%28VS.85%29.aspx
编辑:仅适用于 Windows。
int main(int argc, char **argv, char** env) {
while (*env)
printf("%s\n", *env++);
return 0;
}
Run Code Online (Sandbox Code Playgroud)