c语言获取系统变量,C语言获取系统环境变量

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平台上程序运行的结果如下所示:

2fd0be265a884ee74b1d970f06e71f69.png

在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;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:

KDEDIR=/usr

MAIL=/var/spool/mail/root

PATH=/usr/java/jdk1.5.0_06/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/java/jdk1.5.0_06:/usr/java/jdk1.5.0_06/bin:/root/bin

INPUTRC=/etc/inputrc

PWD=/root

JAVA_HOME=/usr/java/jdk1.5.0_06

LANG=en_US.UTF-8

SHLVL=1

HOME=/root

LOGNAME=root

CVS_RSH=ssh

CLASSPATH=/usr/java/jdk1.5.0_06/lib/tools.jar

LESSOPEN=|/usr/bin/lesspipe.sh %s

BASEDIR=/usr/local/tomcat/jakarta-tomcat-5.0.28

G_BROKEN_FILENAMES=1

_=./get_env

通过如下一些函数可以对当前系统变量进行操作:

Function:

char

* getenv (

const

char

*name)    //获取系统变量值

Function:intsetenv (constchar*name,constchar*value,intreplace)   //设置系统变量值

Function:intunsetenv (constchar*name)   //重置系统变量值

可以通过如下程序,取出所有环境变量

extern char ** environ ;

int main ( int argc , char * argv [] )

{

char ** env = environ ;

while ( * env )

{

printf ( " %s \n " , * env ) ;

env ++;

}

exit ( 0 ) ;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值