std::getenv
從 cppreference.com
在標頭 <cstdlib> 定義
|
||
char* getenv( const char* env_var ); |
||
於宿主環境(操作系統)提供的環境列表中,搜索與 env_var
所指向的 C 字符串相匹配的字符串,並返回指向與匹配的環境列表成員關聯的 C 字符串的指針。
不要求此函數為線程安全。到 |
(C++11 前) |
只要無其他函數修改宿主環境,則此函數為線程安全(從多個線程調用它不引入數據競爭)。尤其是若無同步地調用,則 POSIX 函數 |
(C++11 起) |
修改 getenv
所返回的字符串引起未定義行為。
目錄 |
[編輯] 參數
env_var | - | 標識要查找的環境變量名的空終止字符串 |
[編輯] 返回值
標識環境變量值的字符串,或若找不到這個變量則為空指針。
[編輯] 註解
POSIX 系統上,環境變量亦可通過於 <unistd.h> 聲明為 extern char** environ; 的全局變量 environ
,及通過可選的 main 函數第三實參 envp
訪問。
[編輯] 示例
運行此代碼
#include <cstdlib> #include <iostream> int main() { if (const char* env_p = std::getenv("PATH")) std::cout << "您的 PATH 是: " << env_p << '\n'; }
可能的輸出:
您的 PATH 是: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[編輯] 參閱
getenv 的 C 文檔
|