SETENV
Section: Linux Programmer's Manual (3)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
setenv - 環境変数を変更または追加する
書式
#include <stdlib.h>
int setenv(const char *name, const char *value, int overwrite);
int unsetenv(const char *name);
glibc 向けの機能検査マクロの要件
(feature_test_macros(7)
参照):
setenv(),
unsetenv():
_BSD_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
説明
setenv()
関数は、name が存在しない場合
環境変数 name に値 value を設定し、環境に追加する。
name が環境に存在する場合、overwrite が 0 以外ならば
その値を value に変更し、overwrite が 0 ならば
name の値を変更しない。
unsetenv()
関数は、変数 name を環境から削除する。
返り値
setenv()
関数は、成功すると 0 を返す。
環境に十分な空きが無い場合は -1 を返す。
unsetenv()
関数は、成功すると 0 を返す。
エラーの場合は -1 を返し、
errno
を設定してエラーの原因を示す。
エラー
- EINVAL
-
name
に '=' 文字が含まれている。
準拠
4.3BSD, POSIX.1-2001.
注意
glibc 2.2.2 以前では、
unsetenv()
は
返り値が void のプロトタイプであった。
もっと最近の glibc 版は、「書式」セクションで示しているように
POSIX.1-2001 互換のプロトタイプである。
バグ
POSIX.1-2001 では
「name
に '=' 文字が含まれる場合、
setenv()
はエラー
EINVAL
で失敗すべきである」と述べられている。
しかし 2.3.4 より前のバージョンの glibc では、
name
に '=' 文字が含まれるのを許している。
関連項目
clearenv(3),
getenv(3),
putenv(3),
environ(7)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- バグ
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:32:01 GMT, November 19, 2007