前言
在 UNIX Like 系統中,存有各類系統/應用程式的環境變數,可通過修改之改變系統/應用程式的執行效果;除此之外,使用者還可以定義自己的環境變數,供自己寫的程式使用。
本文將說明如何在程式中設定以及讀取這些環境變數。
獲取環境變數函式:getenv
原型:char * getenv (const char *name)
包含於:stdlib.h
作用:獲取名為 name 的環境變數的值並返回指向它的值的指標。
設定環境變數函式:setenv
原型:int setenv (const char *name, const char *value, int rewrite)
包含於:stdlib.h
作用:設定一個名為 name,值為 value 的環境變數。如果已經存在同名環境變數,則 rewrite 為 1 時重寫,為 0 時不重寫。
刪除環境變數函式:unsetenv
原型:int unsetenv (const char *name)
包含於:stdlib.h
作用:刪除名為 name 的環境變數
程式碼實現
下程式設定一個名為 FANGMENG 的變數值為 funny,然後列印出來:
1 #include <stdio.h> 2 3 int main (void) { 4 // 設定環境變數 - FANGMENG 5 setenv("FANGMENG", "funny", 1); 6 7 // 列印此環境變數 8 printf("%s\n", getenv("FANGMENG")); 9 10 // 刪除此環境變數 11 unsetenv("FANGMENG"); 12 13 return 0; 14 }
執行測試
小結
編譯時候會有警告,說 getenv 函式返回的是個整數。不用理會它。