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

0818b9ca8b590ca3270a3433284dd417.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 ) ;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql索引创建及使用注意事项

总结: 1、在使用索引时,一般情况下不建议使用like操作。如果使用,则%放在后面。否则不会使用索引。like ‘%abd%’不会使用索引,而like ‘aaa%’可以使用索引.(最左缀原则) 2、单列索引的使用: 《1》 只…

mulitpartfile怎么接收不到值_和平精英信号接收区和信号值是什么?信号值怎么恢复...

[闽南网]和平精英公测开启,和平精英与刺激战场有什么不同呢?今天小编就为大家带来了信号值详解!各位玩家千万不要错过呀!信号值详解信号接收区和信号值是什么,对选手有什么影响?在游戏战斗界面中&#xff0…

制备pdms膜的方法_船体用钢板基底超疏水表面的制备和性能

鲨鱼皮具有神奇的微纳双层结构,其微米级肋条状结构在水中的整流效果可减小水的阻力。纳米级刺状突起或刚毛具有疏水特性,使植物抱子很难附着其上,海藻等植物也不能在其表面生长[1,2]。这种微纳结构及其疏水性的共同作用…

递归题型解析

#include<iostream> using namespace std; int foo(int n) {if (n < 1)return n;return (foo(n - 1) foo(n - 2)); } int main() {printf("%d\n", foo(5));return 0; } 解析&#xff1a; foo(5)foo(4)f00(3)foo(3)foo(2)foo(3)2foo(3)foo(2)2(foo(2)foo(1…

64位c语言调用32位glibc,glibc fclose源代码阅读及伪造_IO_FILE利用fclose实现任意地址执行...

简介最近学习了一下_IO_FILE的利用&#xff0c;刚好在pwnable.tw上碰到一道相关的题目。拿来做了一下&#xff0c;遇到了一些困难&#xff0c;不过顺利解决了&#xff0c;顺便读了一波相关源码&#xff0c;对_IO_FILE有了更深的理解。文章分为三部分&#xff0c;分别是利用原理…

戴尔笔记本电脑开机黑屏怎么办_戴尔笔记本电脑充不进电怎么办

笔记本电脑电池充不进电要怎么办呢&#xff1f;笔记本电脑之所以这么受欢迎&#xff0c;是因为笔记本有配备电池&#xff0c;能够在没有电源的情况下使用五六个小时。而电池的电用光后&#xff0c;就需要进行充电。不过有些用户反映说&#xff0c;自己的电池充不进电&#xff0…

IIS安装2个SSL_顶级域名0元撸-免费注册2个腾讯云域名 免费SSL证书

前言这两天折腾甜糖CDN&#xff0c;为了收益最大化申请了公网IP&#xff0c;于是顺带折腾了一下群晖外网访问。使用的DDNS方案是腾讯dnspod&#xff0c;注册一个便宜的顶级域名访问我的群晖&#xff0c;折腾过程中发现可以免费注册2个顶级域名&#xff0c;不敢独享发出来大家一…

三菱a系列motion软体_工控电缆如何制作?(以三菱PLC、触摸屏为例)

RS232接口的三菱Q系列PLC编程通讯电缆三菱GT11/GT15触摸屏RS232串口编程电缆三菱GT11/GT15触摸屏连接Q系列PLC电缆三菱GT11/GT15触摸屏连接FX2/FX2C/A/QnA系列PLC电缆三菱GT11/GT15 触摸屏连接FX3U/FX2N/FX1N系列PLC电缆FX2、A系列PLC到A970GOT人机介面连接电缆FX0s/FX0n/FX2n/…

电脑入门完全自学手册_「新书推荐」新能源汽车维修完全自学手册

《新能源汽车维修完全自学手册》作者&#xff1a;广州瑞佩尔信息科技有限公司 、胡欢贵售价&#xff1a;85.00上市时间&#xff1a;2020年7月本书内容分为 8 章, 第 1 章为高压安全系统, 主要介绍了新能源汽车中高压安全防护装置构造以及维修所需的安全防护工具、 安全作业规范…

C/C++混淆点-左移右移操作符

对一个数实行左移或者右移操作&#xff0c;即先把操作数转换为二进制&#xff0c;然后左移&#xff08;>>&#xff09;即从左到右开始舍弃&#xff0c;右移&#xff08;<<&#xff09;即从各位之后开始加0。最后再转换为十进制。 #include<iostream> using…

ar路由器 pppoe下发ipv6 dns_IPv6网络设置各种疑难杂症诊疗区

1、Windows电脑系统IPv6无网络访问权限怎么解决&#xff1f;Win7系统下连接IPv6无网络访问权限的解决方法&#xff08;1&#xff09;首先修复网络连接&#xff0c;Win XP操作系统的网络连接有“修复”选项&#xff0c;Win7没有&#xff0c;不过可以使用“诊断”选项&#xff0c…

c语言判断化学方程式,下列是某同学写的六个化学方程式:①Mg+O2点燃.MgO2②C+O2点燃.CO...

化学方程式是最重要的化学语言&#xff0c;正确、熟练地书写化学方程式是学习化学必需具备的重要基本功。怎样书写化学方程式?1.要遵循两个基本原则(1)以客观事实为基础化学方程式既然是化学反应的表达形式&#xff0c;显然&#xff0c;有某一反应存在&#xff0c;才能用化学方…

tensorboard ckpt pb 模型的输出节点_“技术需求”与“技术成果”项目之间关联度计算模型 TOP10 baseline...

竞赛网址&#xff1a;传送门线上分数&#xff1a;0.78490746000&#xff0c;目前可以进入前10参考了苏神的代码&#xff0c;非常感谢&#xff1a;传送门调参技巧&#xff1a;传送门中文bert权重&#xff1a;传送门#! -*- coding:utf-8 -*-

白盒测试六种方法案例分析

1、语句覆盖 2、判定覆盖 3、条件覆盖 4、判定/条件覆盖 5、组合覆盖 6、路径覆盖

android 启动优化方案,Android 项目优化(五):应用启动优化

介绍了前面的优化的方案后&#xff0c;这里我们在针对应用的启动优化做一下讲解和说明。一、App启动概述一个应用App的启动速度能够影响用户的首次体验&#xff0c;启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降&#xff0c;或者卸载放弃该应用程序。应用程序启…

排序总结

排序总结 快速排序基本思路&#xff1a; 基本思想&#xff1a; 1&#xff09;选择一个基准元素,通常选择第一个元素或者最后一个元素, 2&#xff09;通过一趟排序讲待排序的记录分割成独立的两部分&#xff0c;其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值…

iphone最新款手机_苹果用户不换安卓手机的8点原因,最后一点最关键

快速的更新换代似乎已经成为了安卓手机的发展规律。与之相比&#xff0c;苹果公司的发展却逐渐从之前的“特立独行”变为了“固步自封”&#xff0c;产品风格也由原先的桀骜不驯&#xff0c;转变为现在向市场的不断妥协。即便如此&#xff0c;仍旧有很大一部分苹果用户没有考虑…

windows和android双系统平板,Windows平板打造双系统爽玩安卓APP

随着微软的surface更新换代&#xff0c; Windows平板是越来越受欢迎&#xff0c;在工作上&#xff0c;win平板处理办公文件和兼容性的优点得到了大家认可。但是在视听娱乐等休闲方面&#xff0c;始终还是没有安卓平板来的好用&#xff0c;而且安卓平台有大量好玩的APP&#xff…

ilitek win10 触摸屏驱动_想做多大尺寸触摸框找融创方圆定制触摸屏工厂

融创方圆定制大尺寸拼接屏多点触摸屏&#xff0c;大屏拼接屏红外多点触摸框&#xff0c;触摸拼接屏&#xff0c;拼接触摸屏&#xff0c;触摸拼接墙&#xff0c;拼接墙触摸屏&#xff0c;我们大尺寸多点触摸框反应灵敏&#xff0c;无盲区&#xff0c;无鬼点&#xff0c;无漂移&a…

most recent call last 报错_视频|救援情景剧、创意快闪……400w+人次为重庆这场消防宣传活动打call...

鼎牛配资app西安笑赢配资大赚配资公司推选简配资乐赢资本 昔日&#xff0c;两江新区2020年“119”消防宣扬月启动典礼正在重庆欢欣谷盛大举办。两江新区消防供图华龙网-新重庆客户端 收华龙网-新重庆客户端11月4日18时40分讯(记者 李华裔)按照实在救济动作改编的情形剧、小伴侣…