- 论坛徽章:
- 0
|
getenv() setenv() putenv() unsetevn() clearenv() 几个函数与环境变量有关
获取环境变量getenv()
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char * pathval;
//getenv path
pathval = getenv("PATH");
printf("%s\n",pathval);
return 0;
}
2.获得所有的环境
通过外部变量 environ获取所有的环境变量,自己声明,environ最后一个元素是NULL
#include <stdio.h>
extern char **environ;
int main(int argc, const char *argv[])
{
int i;
if ( environ !=NULL) {
for (i = 0; environ[i]!=NULL; i++) {
printf("%s\n",environ[i]);
}
}
return 0;
}
3.setenv()设置环境变量
setenv()参数是键值对,返回值整型
unsetenv()消除环境变量
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
//设置环境变量
if (putenv("test=putenv") !=0 ) {
printf("setting error\n");
}
else {
printf("setting success\n");
}
// 环境变量为test,
char * testval;
testval = getenv("test");
printf("环境变量test是%s\n",testval);
//消除环境变量
unsetenv("test");
//测试一下
if (getenv("test")==NULL) {
printf("环境变量test已经删除");
}
return 0;
}
结果:
./a.out
setting success
环境变量test是putenv
环境变量test已经删除%
改变或者增加新的环境变量的时候,也可以用setenv()
if (setenv("home","/home/test") !=0){
/*error*/
} |
|