Linux常用C函數—環境變數篇

火星人 @ 2014-03-26 , reply:0
←手機掃碼閱讀


getenv(取得環境變數內容)
相關函數 putenv,setenv,unsetenv

表頭文件 #include

定義函數 char * getenv(const char *name);

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

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

範例 #include
mian()
{
char *p;
if((p = getenv(「USER」)))
printf(「USER=%s\n」,p);
}

執行 USER = root

 




putenv(改變或增加環境變數)
相關函數 getenv,setenv,unsetenv

表頭文件 #include4

定義函數 int putenv(const char * string);

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

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

錯誤代碼 ENOMEM 內存不足,無法配置新的環境變數空間。

範例 #include
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

定義函數 int setenv(const char *name,const char * value,int overwrite);

函數說明 setenv()用來改變或增加環境變數的內容。參數name為環境變數名稱字元串。

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

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

錯誤代碼 ENOMEM 內存不足,無法配置新的環境變數空間

範例 #include
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)




[火星人 via ] Linux常用C函數—環境變數篇已經有617次圍觀

http://www.coctec.com/docs/linux/show-post-190426.html