std::getenv
From cppreference.com
| ヘッダ <cstdlib> で定義 |
||
| char* getenv( const char* env_var ); |
||
ホスト環境(OS)によって提供される「環境リスト」を検索し、env_varが指すC文字列と一致する文字列を探します。一致した環境リストメンバーに関連付けられたC文字列へのポインタを返します。
|
この関数はスレッドセーフであることが保証されていません。別の |
(C++11まで) |
|
他の関数がホスト環境を変更しない限り、この関数はスレッドセーフです(複数のスレッドから呼び出してもデータ競合は発生しません)。特に、POSIX関数である |
(C++11以降) |
getenvによって返された文字列を変更すると、未定義の動作が発生します。
目次 |
[編集] パラメータ
| env_var | - | 検索する環境変数の名前を識別する、ヌル終端された文字文字列。 |
[編集] 戻り値
環境変数の値を識別する文字文字列、またはそのような変数が見つからなかった場合はヌルポインタ。
[編集] 注記
POSIXシステムでは、環境変数は、<unistd.h>で宣言されているグローバル変数environ(extern char** environ;)や、main関数のオプションの3番目の引数envpを介してもアクセスできます。
[編集] 例
このコードを実行
#include <cstdlib> #include <iostream> int main() { if (const char* env_p = std::getenv("PATH")) std::cout << "Your PATH is: " << env_p << '\n'; }
実行結果の例
Your PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[編集] 関連項目
| C言語のドキュメント (
getenvについて) |