C语言获取系统环境变量可以通过如下代码实现.
#include #include char *platform() { //获取系统变量信息 char *ret; extern char **environ; char **env = environ; //打印系统变量信息 /* while(*env) { //puts(*env); env++; } */ ret = getenv(“OS”); //for windows_nt if(NULL != ret) { printf(“%s /n”, ret); return ret; } else { ret = getenv(“TERM”); //for linux printf(“%s /n”, ret); return ret; } }
其中变量environ是一个外部双指针变量,以获取当前系统环境变量值。environ存储系统环境变量,程序启动后会复制 系统环境变量到environ ,定义在unistd.h 中s
在windows平台上程序运行的结果如下所示:
在linux平台上运行的结果如下所示:
HOSTNAME=localhost.localdomain
TERM=linux
SHELL=/bin/bash
CATALINA_HOME=/usr/local/tomcat/jakarta-tomcat-5.0.28
HISTSIZE=1000
JRE_HOME=/usr/java/jdk1.5.0_06/jre
USER=root
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40