[解決済み] C++で環境変数にアクセスする
2023-04-05 16:09:26
質問
私は
$HOME
環境変数にアクセスしたいのですが。もし私が C でコードを書いていたなら、私は単に
getenv()
関数を使うだけですが、もっといい方法はないかと考えていました。以下は、今のところあるコードです。
std::string get_env_var( std::string const & key ) {
char * val;
val = getenv( key.c_str() );
std::string retval = "";
if (val != NULL) {
retval = val;
}
return retval;
}
を使うべきでしょうか?
getenv()
を使って環境変数にアクセスすべきでしょうか?ちょっとした知識で避けられるような、ぶつかりそうな問題はありますか?
どのように解決するのですか?
を使用することは問題ありません。
getenv()
を使うことは何も問題ありません。 定義されているのは
stdlib.h
で定義されていますが、標準ライブラリの実装を好んで使う場合は
cstdlib
をインクルードし、関数にアクセスするには
std::
の名前空間(つまり
std::getenv()
). これには全く問題がありません。 実際、移植性を重視するのであれば、この2つのバージョンのどちらかが好ましいでしょう。
もしあなたが
ではなく
ポータビリティを気にせず、マネージド C++ を使用している場合は、.NET に相当する
System::Environment::GetEnvironmentVariable()
. もしWindowsで.NET以外の同等のものが欲しければ、単に
GetEnvironmentVariable()
Win32の関数です。
関連
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】C++の余分な資格エラー
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] Dockerコンテナに環境変数を渡すにはどうしたらいいですか?
-
[解決済み] キーと値のペアのファイルから環境変数を設定する
-
[解決済み] Bashでコマンドの前に環境変数を設定すると、パイプ内の2番目のコマンドで動作しない
-
[解決済み] Vue.jsで環境変数を使用する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】'cout'は型名ではない
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み】システムが指定されたファイルを見つけられませんでした。