tools
読み取り中…
検索中…
一致する文字列を見つけられません
env.h ファイル

環境変数取得・設定ユーティリティ [詳解]

#include <string>
#include <cstdlib>
#include <yy981/string.h>
#include <unistd.h>
env.h の依存先関係図:

[ソースコード]

関数

std::string getEnv (const std::string &target, const bool slash=true)
 環境変数の値を取得する(簡易版)
bool setEnv (const char *name, const char *value, bool overrideExist=true)
 環境変数をプロセス内で設定する(現在のプロセスのみ有効)
bool setEnvEx (const std::string &varName, const std::string &varValue)
 環境変数を Windows レジストリ (HKCU\Environment) に恒久的に設定する

詳解

環境変数取得・設定ユーティリティ

クロスプラットフォーム(Windows / UNIX 系)で環境変数を取得・設定する関数を提供します。 Windows ではレジストリへの恒久的な書き込みにも対応しています。

env.h に定義があります。

関数詳解

◆ getEnv()

std::string getEnv ( const std::string & target,
const bool slash = true )
inline

環境変数の値を取得する(簡易版)

引数
target取得する環境変数名(例: "PATH")
slashtrue の場合、バックスラッシュをスラッシュに変換する(デフォルト: true)
戻り値
環境変数の値文字列。slash=true の場合は \ を / に置換済み

env.h26 行目に定義があります。

呼び出し関係図:

◆ setEnv()

bool setEnv ( const char * name,
const char * value,
bool overrideExist = true )
inline

環境変数をプロセス内で設定する(現在のプロセスのみ有効)

引数
name設定する環境変数名
value設定する値
overrideExist既存の変数を上書きするか(現在の実装では常に上書き)
戻り値
設定に成功した場合 true、失敗した場合 false

env.h58 行目に定義があります。

◆ setEnvEx()

bool setEnvEx ( const std::string & varName,
const std::string & varValue )
inline

環境変数を Windows レジストリ (HKCU\Environment) に恒久的に設定する

引数
varName設定する環境変数名
varValue設定する値
戻り値
設定に成功した場合 true、失敗した場合 false
覚え書き
Windows 専用。設定後に WM_SETTINGCHANGE を送信し他のアプリに変更を通知します。
警告
UNIX 系では常に false を返し、コンパイル警告が発生します。

env.h75 行目に定義があります。