C语言操作环境变量的函数
系统提供了很多关于环境表和环境变量的函数;
getenv() 按环境变量的名取得环境变量的值;返回指向name关联的value的指针;
putenv()/setenv() 设置环境变量;
//区别:putenv()参数格式"name=value",setenv()是三个参数(分开),putenv()一定会替换已经存在的,setenv()可以用第三个参数设置是否替换已经存在的;
unsetenv() 删除一个定义的环境变量;
clearenv() 删除环境表中所有的环境变量;
以上这些函数使用时需要包含stdlib.h头文件,以上都是标准c语言函数;
使用man命令查看以上函数的使用方法;
如果一个函数的帮助文档中,返回错误时有errno,那么这个函数就可以用perror()处理错误信息;
main()中的第三个参数就是环境表;
main(int argc, char** argv, char** env);
初级程序员都是看手册(英文)写代码;
系统提供了很多关于环境表和环境变量的函数;
getenv() 按环境变量的名取得环境变量的值;返回指向name关联的value的指针;
putenv()/setenv() 设置环境变量;
//区别:putenv()参数格式"name=value",setenv()是三个参数(分开),putenv()一定会替换已经存在的,setenv()可以用第三个参数设置是否替换已经存在的;
unsetenv() 删除一个定义的环境变量;
clearenv() 删除环境表中所有的环境变量;
以上这些函数使用时需要包含stdlib.h头文件,以上都是标准c语言函数;
使用man命令查看以上函数的使用方法;
如果一个函数的帮助文档中,返回错误时有errno,那么这个函数就可以用perror()处理错误信息;
main()中的第三个参数就是环境表;
main(int argc, char** argv, char** env);
初级程序员都是看手册(英文)写代码;
/*
* 环境表与环境变量函数练习
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv, char **env) {
extern char **environ;
printf("env = %p, environ = %p\n", env, environ);
/* env和environ的地址相同, */
/* 说明main的第三个参数就是环境表的首地址; */
char *value = getenv("LANG");
printf("value = %s\n", value);
putenv("VAR=ABC"); //新增环境变量;
printf("%s\n", getenv("VAR")); //ABC
putenv("VAR=123"); //新增环境变量;
printf("%s\n", getenv("VAR")); //123
setenv("VAR", "456", 0); //0代表不覆盖;
printf("%s\n", getenv("VAR")); //123,不变
setenv("VAR", "789", 1); //非0代表覆盖
printf("%s\n", getenv("VAR")); //789
return 0;
}