第十六篇:Linux系統程式設計中環境變數的使用

穆晨發表於2017-01-28

前言

       在 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 函式返回的是個整數。不用理會它。

相關文章