環境変数の取得/設定

C:\DATA\Cpp\Console>setenv
HOGE=(null)
HOGE=hoge

C:\DATA\Cpp\Console>set HOGE
環境変数 HOGE が定義されていません

プログラムで環境変数を取得する方法と設定する方法です。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. メインプログラム(setenv.cpp) のソースコードです。
    //★ 環境変数の設定      前田 稔
    //   設定した値は、親プロセスには影響しない。
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc,char *argv[])
    {
        fprintf(stdout,"HOGE=%s\n",getenv("HOGE"));
        putenv("HOGE=hoge");
        fprintf(stdout,"HOGE=%s\n",getenv("HOGE"));
        exit(0);
    }
    
  2. プログラムは簡単なのですが、OSとセキュリティが関係してくるかも知れません。
    私の場合は、何の問題も無くあっさりと実行できました。 \(^o^)/
    ちなみにテストした環境は、OSは Windows7 で、Visual Studio 8 を使いました。
    Visual Studio で環境変数を扱うときは stdlib.h を include して下さい。
  3. getenv("HOGE") で環境変数 "HOGE" を取得して表示します。
    当然のことながら環境変数が定義されていないので (null) が表示されます。
    次に、環境変数 "HOGE" に "hoge" を設定します。
    今度は HOGE=hoge が表示されます。
  4. コマンドプロンプトに戻ってから、環境変数 "HOGE" を確認しても設定されていませんでした。
    設定した値は、親プロセスには影響しないようです。
    C:\DATA\Cpp\Console>set HOGE
    環境変数 HOGE が定義されていません
    

超初心者のプログラム入門(C/C++)