UC編程:環(huán)境變量的查詢與修改-創(chuàng)新互聯(lián)

每個(gè)程序中都維護(hù)一個(gè)指向環(huán)境變量的指針char **environ; 子進(jìn)程會(huì)從父進(jìn)程繼承環(huán)境變量。子進(jìn)程環(huán)境變量的修改不一定會(huì)影響父進(jìn)程 無(wú)關(guān)的多個(gè)進(jìn)程之間修改環(huán)境變量不會(huì)互相影響 打印環(huán)境變量 [c] #include <stdio.h> extern char **environ; int main() { while(*environ) { printf("%s ",*environ++); } return 0; } [/c] 查詢環(huán)境變量 多數(shù)時(shí)候,只是查看一個(gè)環(huán)境變量的值??梢允褂?char * getenv(const char *name);函數(shù) [c] #include <stdio.h> #include <stdlib.h> int main() { char *path=getenv("PATH"); printf("path=%s ",path); return 0; } [/c] 這個(gè)和shell中用echo $PATH打印出來(lái)的效果是一樣的 設(shè)置環(huán)境變量 putenv 定義函數(shù) int putenv(const char * string); 表頭文件 #include 函數(shù)說(shuō)明 putenv()用來(lái)改變或增加環(huán)境變量的內(nèi)容。 參數(shù) string的格式為name=value,如果該環(huán)境變量原先存在,則變量?jī)?nèi)容會(huì)依參數(shù)string改變,否則此參數(shù)內(nèi)容會(huì)成為新的環(huán)境變量。 [c] #include <stdio.h> #include <stdlib.h> int main() { char *HELLO; putenv("HELLO=hello"); HELLO=getenv("HELLO"); printf("HELLO=%s ",HELLO); return 0; } [/c] 修改環(huán)境變量 *修改PATH環(huán)境變量加上HOME目錄,把修改后的環(huán)境變量打印出來(lái)。 [c] #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *path=getenv("PATH"); char *home=getenv("HOME"); int n=strlen(path)+strlen(home); char *str=malloc(n+2); sprintf(str,"%s:%s",home,path); printf("str=%s ",str); setenv("PATH",str,1); path=getenv("PATH"); printf("new path=%s ",path); free(str); return 0; } [/c] setenv與putenv區(qū)別 函數(shù)定義:int putenv(const char * string); putenv()用來(lái)改變或增加環(huán)境變量的內(nèi)容。 參數(shù)string的格式為name=value,如果該環(huán)境變量原先存在,則變量?jī)?nèi)容會(huì)依參數(shù)string改變,否則此參數(shù)內(nèi)容會(huì)成為新的環(huán)境變量。 返回值:執(zhí)行成功則返回0,有錯(cuò)誤發(fā)生則返回-1。 函數(shù)定義:int setenv(const char *name,const char * value,int overwrite); setenv()用來(lái)改變或增加環(huán)境變量的內(nèi)容。參數(shù)name為環(huán)境變量名稱字符串。 參數(shù)value則為變量?jī)?nèi)容,參數(shù)overwrite用來(lái)決定是否要改變已存在的環(huán)境變量。如果overwrite不為0,而該環(huán)境變量原已有內(nèi)容,則原內(nèi)容會(huì)被改為參數(shù)value所指的變量?jī)?nèi)容。如果overwrite為0,且該環(huán)境變量已有內(nèi)容,則參數(shù)value會(huì)被忽略。 返回值:執(zhí)行成功則返回0,有錯(cuò)誤發(fā)生時(shí)返回-1。      

分享標(biāo)題:UC編程:環(huán)境變量的查詢與修改-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article26/dhdpjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、響應(yīng)式網(wǎng)站企業(yè)網(wǎng)站制作、Google、網(wǎng)站導(dǎo)航、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司