我試圖將應用程序從Windows移植到Linux。在Windows中,我在windows.h中有一個 GetEnvironmentStrings()函數,該函數爲我提供了當前進程中的環境變量及其值,其格式爲NAME = VALUE 。在Linux上獲取當前進程的環境變量
有沒有一個等效的Linux函數調用呢?我需要一個C函數。 這怎麼能在Linux上實現?
我試圖將應用程序從Windows移植到Linux。在Windows中,我在windows.h中有一個 GetEnvironmentStrings()函數,該函數爲我提供了當前進程中的環境變量及其值,其格式爲NAME = VALUE 。在Linux上獲取當前進程的環境變量
有沒有一個等效的Linux函數調用呢?我需要一個C函數。 這怎麼能在Linux上實現?
您可以通過變量extern char **environ;
訪問環境變量。
環境變量的值是字符的字符串。對於C語言程序,當一個過程開始時,稱爲環境的字符串數組應該可用。該陣列被指向的外部變量environ,其被定義爲:
extern char **environ;
這些字符串具有形式
name=value
。
哇..正是我想要的.. thanx ..你拯救了我的一天.. –
有getenv()
符合SVr4,POSIX.1-2001,4.3BSD,C89,C99。
這是幹什麼用的? 'env'是一個可以顯示當前環境的linux命令 – 2012-06-14 16:29:51
我知道set也可以用來顯示所有的env變量。但我需要一個C函數。 –
在stdlib.h中有['getenv'](http://www.gnu.org/software/libc/manual/html_node/Environment-Access.html)命令。你也可以直接訪問環境變量'environ'。 – 2012-06-14 16:33:44