函式
<cstdlib>

getenv

char* getenv (const char* name);
獲取環境變數字串
檢索一個 C 字串,其中包含以 name 作為引數指定的環境變數的值。如果所請求的變數不是環境列表的一部分,則該函式返回一個空指標。

返回的指標指向一個內部記憶體塊,其內容或有效性可能會因後續對 getenv 的呼叫而改變(但不會被其他庫函式改變)。

程式不應修改此函式返回的指標所指向的字串。某些系統和庫實現可能允許使用特定函式(putenvsetenv...)來更改環境變數,但此類功能是不可移植的。

引數

名稱
包含所請求變數名稱的 C 字串。
根據平臺的不同,這可能是大小寫敏感的,也可能不是。

返回值

一個包含所請求環境變數值的 C 字串,如果該環境變數不存在,則為一個空指標

示例

1
2
3
4
5
6
7
8
9
10
11
12
/* getenv example: getting path */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* getenv */

int main ()
{
  char* pPath;
  pPath = getenv ("PATH");
  if (pPath!=NULL)
    printf ("The current path is: %s",pPath);
  return 0;
}

如果主機環境中存在 PATH 環境變數,上面的示例將列印該變數。

資料競爭

只要環境保持不變,併發呼叫此函式是安全的。

異常 (C++)

無異常保證:此函式從不丟擲異常。

另見