linux c 環境變數相關函式

commshare發表於2011-04-22

getenv(取得環境變數內容)

相關函式

putenv,setenv,unsetenv

表標頭檔案

#include<stdlib.h>

定義函式

char * getenv(const char *name);

函式說明

getenv()用來取得引數name環境變數的內容。引數name為環境變數的名稱,如果該變數存在則會返回指向該內容的指標。環境變數的格式為name=value。

返回值

執行成功則返回指向該內容的指標,找不到符合的環境變數名稱則返回NULL。

範例

#include<stdlib.h>

mian()

{

char *p;

if((p = getenv(“USER”)))

printf(“USER=%s/n”,p);

}

執行

USER = root

 

 

 

 

putenv(改變或增加環境變數)

相關函式

getenv,setenv,unsetenv

表標頭檔案

#include4<stdlib.h>

定義函式

int putenv(const char * string);

函式說明

putenv()用來改變或增加環境變數的內容。引數string的格式為name=value,如果該環境變數原先存在,則變數內容會依引數string改變,否則此引數內容會成為新的環境變數。

返回值

執行成功則返回0,有錯誤發生則返回-1。

錯誤程式碼

ENOMEM 記憶體不足,無法配置新的環境變數空間。

範例

#include<stdlib.h>

main()

{

char *p;

if((p = getenv(“USER”)))

printf(“USER =%s/n”,p);

putenv(“USER=test”);

printf(“USER+5s/n”,getenv(“USER”));

}

執行

USER=root

USER=root

 

 

 

 

setenv(改變或增加環境變數)

相關函式

getenv,putenv,unsetenv

表標頭檔案

#include<stdlib.h>

定義函式

int setenv(const char *name,const char * value,int overwrite);

函式說明

setenv()用來改變或增加環境變數的內容。引數name為環境變數名稱字串。

引數

value則為變數內容,引數overwrite用來決定是否要改變已存在的環境變數。如果overwrite不為0,而該環境變數原已有內容,則原內容會被改為引數value所指的變數內容。如果overwrite為0,且該環境變數已有內容,則引數value會被忽略。

返回值

執行成功則返回0,有錯誤發生時返回-1。

錯誤程式碼

ENOMEM 記憶體不足,無法配置新的環境變數空間

範例

#include<stdlib.h>

main()

{

char * p;

if((p=getenv(“USER”)))

printf(“USER =%s/n”,p);

setenv(“USER”,”test”,1);

printf(“USER=%s/n”,getenv(“USEr”));

unsetenv(“USER”);

printf(“USER=%s/n”,getenv(“USER”));

}

執行

USER = root

USER = test

USER = (null)

相關文章