std::getenv
定義於頭文件 <cstdlib>
char* getenv( const char* env_var );
於宿主環境(操作系統)提供的環境列表搜索匹配 env_var
所指向的 C 字符串,並返回指向與匹配的列表成員關聯的 C 字符串的指針。
不要求此函數爲線程安全。到 getenv 的另一調用,還有到 POSIX 函數 setenv() 、 unsetenv() 及 putenv()的調用可能非法化先前調用所返回的指針,或修改從先前調用得到的字符串。(C++11 前)
只要無其他函數修改宿主環境,則此函數線程安全(從多個線程調用它不引入數據競爭)。尤其是若無同步地調用,則 POSIX 函數 setenv() 、 unsetenv() 及 putenv() 會引入數據競爭。(C++11 起)
修改 getenv
所返回的字符串引起未定義行爲。
參數
env_var - 標識要查找的環境變量名的空終止字符串
返回值
標識環境變量值的字符串,或若找不到這種字符串則爲空指針。
注意
POSIX 系統上,環境變量亦可通過於 <unistd.h>
聲明爲 extern char **environ; 的全局變量 environ
,及通過可選的 main 函數第三參數 envp
訪問。