environ, getenv, putenv - 環境変数の取得・設定

【書式】

#include <stdlib.h>

char **environ;

char *getenv(const char *name);

int putenv(const char *env);

【解説】

グローバル変数 environ は環境変数のリストの先頭を保持しています。

main()の3番目のパラメタとしてenvpがあり、これはenvironがそのまま渡さ

れます。 しかし、putenv()はenvironを変更することがありますので、envp

を使用するよりもenvironを参照する方が望ましいでしょう。

getenv()は現在の環境のリストを探索してnameという名前の環境変数の値を

返します。環境変数はDOS窓のSETコマンドで設定されたものか、 putenv()

によって設定されたものです。

putenv()はenvで指定される環境変数を登録します。envが指す文字列は

NAME=value

の形をしていなければなりません。 ただし、valueは省略することができま

す。

putenv()によって登録された環境変数はspawn(3)やexec(3) によって生成さ

れた子プロセスに渡されます。

putenv()を実行したプロセスが終了したときにはputenv()によって設定され

た環境変数は消滅します。putenv()によって親プロセスの環境変数を変化さ

せることはできません。

【リターン値】

getenv()は環境変数の値を返します。もし、nameという変数が見つからなか

ったときはNULLを返します。

putenv() は正常に処理が実行されたときには0を、失敗したときには-1を返

します。

【可搬性】

getenv()

ANSI, UNIX, DOS窓

putenv()

UNIX, DOS窓

【参照】

spawn(3), exec(3)

【copyright (c) 安江正樹@東海大学理学部物理学科】