putenv、_wputenv

提供: RAD Studio
移動先: 案内検索

stdlib.h:インデックス への移動


ヘッダーファイル

stdlib.h

カテゴリ

プロセス制御ルーチン

プロトタイプ

int putenv(const char *name);

int _wputenv(const wchar_t *name);

説明

現在の環境に文字列を追加します。

putenv は,文字列名を受け取り,それを現在のプロセスの環境に追加します。次に例を示します。

putenv(“PATH=C:\\BC”);

また,putenv を使って既存の名前を変更することもできます。name は,大文字でも小文字でもかまいません。name に等号(=)を入れてはなりません。「=」記号の右側に空の文字列を指定すると,変数に空の値を設定できます。

putenv は,現在のプログラムの _environment を変更するためにのみ使用できます。プログラムが終了すると,元の _environment が復元されます。現在のプロセスの _environment は,putenv によって加えられた変更も含めて,子プロセスに渡されます。

putenv に提供する文字列は,静的またはグローバルでなければなりません。putenv にローカルまたは動的な文字列を提供し,その文字列メモリが解放された後で文字列が使用されると,予期しない結果になります。

戻り値

putenv は,成功した場合は 0,失敗した場合は -1 を返します。

#include <stdio.h>
#include <stdlib.h>
#include <alloc.h>
#include <string.h>
int main(void)
{
   char *path, *ptr;
   int i = 0;
   /* 現在の PATH 環境を取得します */
   ptr = getenv("PATH");
   /* 新しい PATH を設定します */
   path = (char *) malloc(strlen(ptr)+15);
   strcpy(path,"PATH=");
   strcat(path,ptr);
   strcat(path,";c:\\temp");
   /* 現在の PATH を置き換え,最新の環境を表示します */
   putenv(path);
   while (_environ[i])
       printf("%s\n",_environ[i++]);
   return 0;
}
 

移植性

POSIX Win32 ANSI C ANSI C++

putenv

+

_wputenv

NT のみ


関連項目