C++ で環境にアクセスする方法

C De Huan Jingniakusesusuru Fang Fa



C++ は、プログラミングにとって最も効率的な高級言語です。 C++ を使用すると、さまざまな関数ライブラリを利用できるようになり、関数の例外やオーバーロードを処理できるようになります。 getenv() 関数を使用して C++ で環境を取得することもできます。これらの環境変数は、すべてのプログラミング言語が動作する OS に存在し、何らかの方法でアクセスできます。 getenv() 関数を使用すると、C++ プログラミング言語がこれらの機能にアクセスできるようになります。 C++ getenv() メソッドを使用すると、指定された環境変数の内容を含む C 文字列へのポインタがパラメータとして返されます。ここでは、この概念を学び、C++ プログラミングで環境にアクセスする方法を例を使用して確認します。

例 1:

ここでは最初の例から始めます。 C++ コードを実行するには、いくつかのヘッダー ファイルが必要です。したがって、必要なヘッダー ファイルをこのコードに含めます。このコードではいくつかのデータを表示する必要があり、このヘッダー ファイルは「cout」関数をサポートしているため、「iostream」ヘッダー ファイルは不可欠です。次に、「cstdlib」があります。このヘッダーは、「getenv()」メソッドのような一連のメソッドを提供します。

ここで、「名前空間 std」を追加するので、コード内で「cout()」関数を使用して「std」を追加する必要はありません。この後、「main()」関数が呼び出されます。そして、ここにポインタである「char*」を「var_1」という名前で配置します。次に、この「var_1」変数に「getenv()」関数を配置し、そのパラメータとして「SESSIONNAME」を渡します。







この後、「var_1」が「NULL」に等しくないかどうかをチェックする「if」条件を追加します。 「var_1」が null でない場合は、最初に環境変数名が出力されます。次に、次の行で、その変数の値を出力します。ただし、「var_1」が「NULL」の場合、メッセージは表示されず、コードは終了します。



コード 1:



#include
#include
を使用して 名前空間 標準 ;
整数 主要 ( )
{
文字 * だった_1 ;
だった_1 = ゲッテンヴ ( 「セッション名」 ) ;
もし ( だった_1 = ヌル )
コート << 「変数名はSESSIONNAMEです」 << 終わり ;
コート << '環境変数は次のとおりです。' << だった_1 ;
戻る 0 ;
}

出力 :
この出力には、「getenv()」関数のパラメーターとして追加した環境変数の名前と、この環境変数の値が表示されます。この値は、コード内の「getenv()」関数を使用して取得します。





例 2:

さて、別の例があります。コードを開始するには、必要なヘッダー ファイルをインクルードします。次に、「namespace std」と入力します。この後、「main()」関数にアクセスし、「newEnv_var」という名前の「char*」ポインタを作成し、それを「Path」環境変数名で初期化します。次に、ここでもポインターである別の「char*」を追加し、「myValue」という名前を付けます。



次に、「getenv()」関数で「myValue」変数を初期化し、「newEnv_var」をこの「getenv()」関数に渡します。それはこの関数のパラメータです。この「newEnv_var」変数には、「PATH」で初期化したときの環境変数の名前が含まれています。次に、「myValue」が「NULL」に等しいかどうかを判断する「if」条件が追加されます。 「myValue」が null でない場合、環境変数名が最初に出力され、次の行に変数の値が続きます。ただし、「myValue」が「NULL」に設定されている場合、メッセージは表示されず、コードはここで終了します。

コード 2:

#include
#include
を使用して 名前空間 標準 ;
整数 主要 ( )
{
文字 * 新しい環境変数 = 'パス' ;
文字 * 私の値 ;
私の値 = ゲッテンヴ ( newEnv_var ) ;
もし ( 私の値 = ヌル ) {
コート << 「変数 = 」 << 新しい環境変数 << 終わり ;
コート << 「値 = 」 << 私の値 << 終わり ;
}
それ以外
コート << 「変数が存在しません!」 << 私の値 ;
戻る 0 ;
}

出力:
これで、ターミナル上に、コード内の「getenv()」関数を使用して取得した「PATH」環境変数の値が表示されます。各コンピュータ上のパスは異なるため、コンピュータごとに異なります。

例 3:

別の例を次に示します。必要な「iostream」ヘッダー ファイルと「cstdlib」ヘッダー ファイルを組み込んだ後、コードの先頭に「namespace std」と入力します。次に、「main()」メソッドに入り、「myVar」という名前の「char*」ポインターを生成し、「PUBLIC」環境変数名を初期化します。

次に、「myValue」という名前の新しい「char*」を作成します。これもポインタです。 「myVar」が「getenv()」関数に指定され、「myValue」変数を初期化するので、これは関数の引数になります。 「PUBLIC」で初期化しているので、この「myVar」変数には環境変数名が入っています。

次に、「myValue」が「NULL」に等しいかどうかを確認するために、「if」条件が追加されます。 「myValue」が null でない場合、環境変数名が画面に最初に表示され、変数の値が次の行に表示されます。次に、指定された条件が満たされない場合に実行される他の部分をここに追加します。ここでは、「変数がここに見つかりません」というメッセージを出力します。

コード 3:

#include
#include
を使用して 名前空間 標準 ;
整数 主要 ( )
{
文字 * myVar = '公共' ;
文字 * 私の値 ;
私の値 = ゲッテンヴ ( myVar ) ;
もし ( 私の値 = ヌル ) {
コート << 「変数 = 」 << myVar << 終わり ;
コート << 「それは値です=」 << 私の値 << 終わり ;
}
それ以外
コート << 「変数がここに見つかりません..!!」 << 私の値 ;
戻る 0 ;
}

出力:
「getenv()」関数にパラメータとして追加した環境変数の名前とその値が、この出力に表示されます。この値は、コードの「getenv()」関数を使用して取得できます。

例 4:

ここでは、「NewEnv_var[]」という名前の定数 char 配列をサイズ「6」で作成します。次に、考えられるすべての環境変数をこの配列に渡します。この下には、同じサイズ「6」の「char *env_value[]」という名前の別の配列があります。これで、「for」ループがあり、「getenv()」関数からこれらすべての環境変数をループして、これらすべての変数の値を取得し、「env_value」配列に格納します。この「for」ループ内には、環境値が null かどうかをチェックする「if」条件も配置します。値が null でない場合は、値と変数名が出力されます。 null の場合は、環境変数がここに存在しないというメッセージが表示されます。

コード 4:

#include
#include
を使用して 名前空間 標準 ;
整数 主要 ( )
{
定数 文字 * NewEnv_var [ 6 = { '公共' '家' 「セッション名」 「リブ」 「システムドライブ」 「デルツリー」 } ;
文字 * 環境値 [ 6 ;
のために ( 整数 ある = 1 ; ある <= 6 ; ある ++ )
{
環境値 [ ある = ゲッテンヴ ( NewEnv_var [ ある ) ;
もし ( 環境値 [ ある = ヌル )
コート << 「変数は」 << NewEnv_var [ ある << '、それは 'Value= ' << 環境値 [ ある << 終わり ;
それ以外
コート << NewEnv_var [ ある << 「ここには存在しない」 << 終わり ;
}
}

出力:
ここでは、環境変数の可能なすべての値が表示され、「HOME」、「LIB」、および「DELTREE」が存在しない、つまり値が NULL であることを示すメッセージも表示されます。

例 5:

さあ、先へ進みましょう。これは、このチュートリアルの最後の例です。ここでは、「Variable[]」と呼ばれるサイズ「4」の定数 char 配列を確立し、これにすべての潜在的な環境変数を提供します。ここでは「for」ループを使用します。この下には、「char *values[]」という同じサイズの「4」を持つ別の配列があり、そこに「getenv()」関数を配置し、そのパラメーターとして「variable[i]」を渡します。このループは、すべての環境変数を反復処理するために利用され、その値を「getenv()」関数から取得して「values[]」配列に保存します。

この「for」ループ内に、環境値が null かどうかを決定する「if」条件を含めます。値が null でない場合は値と変数名が出力され、「else」部分に指定されている NULL の場合はメッセージが表示されます。

コード5:

#include
を使用して 名前空間 標準 ;
整数 主要 ( ) {
定数 文字 * 変数 [ 4 = { '公共' '家' 「デルツリー」 「ログネーム」 } ;
のために ( 整数 = 0 ; <= 4 ; ++ )
{
定数 文字 * 価値観 = ゲッテンヴ ( 変数 [ ) ;
もし ( 価値観 = ヌル ) {
コート << 変数 [ << 「=」 << 価値観 << 終わり ;
}
それ以外 {
コート << 変数 [ << 「ここには見つかりません!」 << 終わり ;
}
}
戻る 0 ;
}

出力:
この場合、環境変数の可能な値が表示され、「HOME」、「DELTREE」、「LONGNAME」の値がここに見つからない、つまり NULL 値であるという通知が表示されます。

結論

このチュートリアルは「C++ で環境にアクセスする方法」に関するものです。環境変数に個別にアクセスする方法、または考えられるすべての環境変数を渡して「getenv()」関数を利用して値を取得する配列を使用する方法を学習した例を検討しました。この「getenv()」メソッドは、必要な環境変数値を取得するために C++ 言語によって提供されます。