GETENV

Section: C Library Functions (3)
索引 jman

BSD mandoc
 

索引

名称

getenv putenv setenv unsetenv - 環境変数関数  

索引

ライブラリ

Lb libc  

索引

書式

In stdlib.h Ft char * Fn getenv const char *name Ft int Fn setenv const char *name const char *value int overwrite Ft int Fn putenv const char *string Ft void Fn unsetenv const char *name  

索引

解説

これらの関数は、環境変数を設定もしくは削除し、またホストの environment list からそれらを取り出します。 異なる慣習の環境との互換性のため、与えられた引数 name および value はそれぞれ、等価記号 ``= '' によって後に付加することも、前に付加することもできます。

Fn getenv 関数は、環境変数 name の現在の値を取得します。 変数 name が現在の環境にない場合は、null ポインタが返ります。

Fn setenv 関数は、環境変数 name を現在の環境リストに挿入または再設定します。 変数 name がリストにない場合は、与えられた value に設定されて挿入されます。 変数が存在する場合は引数 overwrite が検査され、 overwrite が 0 ならば変数 name は再設定されません。 その他の場合は、与えられた値に再設定されます。

Fn putenv 関数は、``name=value'' の形で引数をとります。 これは次と等価です。

setenv(name, value, 1);

Fn unsetenv 関数は、 Fa name で示される変数名のインスタンスを、リストからすべて削除します。  

索引

戻り値

Rv -std setenv putenv  

索引

エラー

Bq Er ENOMEM
環境にメモリを割り振ることができなかったので、関数 Fn setenv または Fn putenv は失敗しました。

 

索引

関連項目

csh(1), sh(1), execve(2), environ(7)  

索引

規格

Fn getenv 関数は、 St -isoC に適合しています。  

索引

バグ

異なる大きさの value を同じ name に設定する、連続した Fn setenv や Fn putenv の呼び出しは、メモリリークを引き起こします。 Fx のこれらの関数のセマンティクス (つまり value の内容はコピーされ、その古い値はいつまでもアクセス可能のまま残される) によって、このバグは回避不能です。 このバグを修正するために、将来のバージョンでは、 このセマンティクスの保証の一つ、もしくは両方を削除するかも知れません。  

索引

歴史

関数 Fn setenv および Fn unsetenv は、 AT&T System v7 ではじめて登場しました。 Fn putenv 関数は、 BSD 4.3 Reno ではじめて登場しました。


 

索引

Index

名称
ライブラリ
書式
解説
戻り値
エラー
関連項目
規格
バグ
歴史

jman



Time: 07:06:52 GMT, January 12, 2009