环境变量操作函数
getenv獲取環境變量值的函數;
setenv改變或者添加環境變量函數;
unsetenv 取消環境變量;
(可以在終端上man 函數名來獲取詳細的函數信息)
#include<stdio.h> #include<stdlib.h> #include<string.h>int main() {char *val;const char *name = "ABD";val = getenv(name); //獲取name的環境變量值printf("1,%s = %s\n",name,val);setenv(name, "haha-day-and-night",1); //設置name的環境變量值為haha-day-and-night val = getenv(name);printf("2,%s = %s\n",name,val);#if 0int ret = unsetenv("ABCDEFG");printf("ret = %d\n",ret);val = getenv(name);printf("3,%s = %s\n",name,val); #elseint ret = unsetenv("ABD"); //取消環境變量name的值printf("ret = %d\n",ret);val = getenv(name);printf("3,%s = %s\n",name,val); #endifreturn 0; }運行結果:
ubuntu1604@ubuntu:~/wangqinghe/C/20190805$ gcc setenv.c -o setenv
ubuntu1604@ubuntu:~/wangqinghe/C/20190805$ ./setenv
1,ABD = (null)
2,ABD = haha-day-and-night
ret = 0
3,ABD = (null)
?
把if 0 改為 1
運行結果:
ubuntu1604@ubuntu:~/wangqinghe/C/20190805$ gcc setenv.c -o setenv
ubuntu1604@ubuntu:~/wangqinghe/C/20190805$ ./setenv
1,ABD = (null)
2,ABD = haha-day-and-night
ret = 0
3,ABD = haha-day-and-night
?
沒有ABCDEFG這個環境變量,刪除它時,是不會報錯的。
?
但是如果把?? int ret = unsetenv("ABCDEFG");
改為 ???? int ret = unsetenv("ABD="); 這種時,它會報錯。
?
運行結果:
ubuntu1604@ubuntu:~/wangqinghe/C/20190805$ ./setenv
1,ABD = (null)
2,ABD = haha-day-and-night
ret = -1
3,ABD = haha-day-and-night
轉載于:https://www.cnblogs.com/wanghao-boke/p/11304929.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 别动我的男人剧情介绍
- 下一篇: 使命召唤手游闪光无人机怎么用