请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 195|回复: 10

[C语言] 怎样检索环境变量(environment variables)的值?

[复制链接]

3172

主题

3269

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22691
发表于 2015-12-24 22:56:08 | 显示全部楼层 |阅读模式
ANSI C标准提供了一个名为getenv()的函数来完成这项任务。getenv()函数很简单一把指向要查找的环境串的指针传递给它,它就返回一个指向该变量值的指针。下面的程序说明了如何从C中获得环境变量PATH的值:
# include <stdlib. h>
main(int argc, char *  *  argv)
{
    char envValue[l29];             / *  buffer to store PATH * /
    char *  envPtr = envValue ;     / *  pointer to this buffer  * /
    envPtr = getenv("PATH");        /*  get the PATH */
    printf ("PATH= %s\n" , envPtr) ;   / * print the PATH * /
}
如果你编译并运行了这个程序,你就会看到与在DOS提示符下输入PATH命令完全相同的结果。事实上,你可以用getenv()检索AUTOEXEC.BAT文件中的或者系统引导后在DOS揭示符下输入的所有环境变量的值。

这里有一个小技巧。当运行Windows时,Windows设置了一个名为WINDIR的新的环境变量,它包含了Windows目录的路径全名。下面这段简单的程序用来检索这个串:
# include <stdlib. h>
main(int argc, char * *  argv)
{
    char envValue[l29];
    char *  envPtr = envValue ;
   envPtr = getenv("windir");
    / * print the Windows directory * /
    printf("The Windows Directory is  %s\n" ,  envPtr);
}
这个程序还可以用来判断当前是否正在运行Windows,以及DOS程序是否运行在一个DOS shell下,而不是运行在“真正的"DOS下。注意,程序中的windir字符串是小写——这一点很重要,因为它对大小写是敏感的。如果你使用WINDIR,getenv()就会返回一个NULL串(表示变量未找到错误)。

用一putenv()函数也可以设置环境变量。但要注意,该函数不是一个ANSI标准函数,在某些编译程序中它可能不以这个名字出现,或者根本就不存在。你可以用一putenv()函数做许多事情。实际上,在上面那个例子中,Windows正是用这个函数创建了windir环境变量。
回复

使用道具 举报

1

主题

894

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2016-1-26 12:57:20 | 显示全部楼层
还有许多问题不明白,有点恼火啊!
回复 支持 反对

使用道具 举报

2

主题

920

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2016-1-31 12:56:21 | 显示全部楼层
大神啊!豁然开朗。。。。。。
回复 支持 反对

使用道具 举报

3

主题

996

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2016-2-10 17:11:39 | 显示全部楼层
楼主不错
回复 支持 反对

使用道具 举报

0

主题

843

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2016-2-14 15:54:56 | 显示全部楼层
谢谢您的分享!
回复 支持 反对

使用道具 举报

0

主题

896

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2016-2-22 10:43:36 | 显示全部楼层
顶顶
回复 支持 反对

使用道具 举报

7

主题

833

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2017-8-2 09:26:02 | 显示全部楼层
请问大家有什么看法?我绝对喜欢这个帖子
回复 支持 反对

使用道具 举报

2

主题

948

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2017-10-25 09:19:31 | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

2

主题

948

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2018-6-26 14:35:35 | 显示全部楼层
太给力啊 跪谢啊
回复 支持 反对

使用道具 举报

0

主题

944

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2018-9-8 12:04:17 | 显示全部楼层
学习贵在坚持哦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2018-11-21 01:33 , Processed in 0.203906 second(s), 27 queries .

快速回复 返回顶部 返回列表