Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_all
名前
setlocale - 現在のスレッドのロケール (locale) を設定/取得する
書式
#include <locale.h> locale_t uselocale(locale_t newloc); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): uselocale(): glibc 2.10 以降: _XOPEN_SOURCE >= 700 glibc 2.10 より前: _GNU_SOURCE
説明
uselocale() 関数は呼び出し元スレッドの現在のロケールを設定し、 そのスレッドの現在のロケー ルの直前の値を返す。 uselocale() の呼び出しが成功した後は、 ロケールに依存する関数のこのス レッドによる呼び出しは newloc で設定されたロケールで動作する。 newloc 引き数には以下の値のいずれかを指定できる。 newlocale(3) か duplocale(3) の呼び出しで返されたハンドル 呼び出し元スレッドの現在のロケールを指定したロケールに設定する。 特別な値のロケールオブジェクトハンドル LC_GLOBAL_LOCALE 呼び出し元スレッドの現在のロケールを setlocale(3) で決定されるグローバルロケールに 設定する。 (locale_t) 0 呼び出し元スレッドの現在のロケールは変更されないままである (関数呼び出しの結果とし て現在のロケールが返される)。
返り値
成功すると、 uselocale() は、 このスレッドで一つ前の uselocale() の呼び出しで設定されたロ ケールハンドルを返す。 前に uselocale() が呼び出されていない場合は LC_GLOBAL_HANDLE を返 す。 エラーの場合、 (locale_t) 0 を返し、 errno にエラーの原因を示す値を設定する。
エラー
EINVAL newloc が有効なロケールオブジェクトを参照していない。
バージョン
uselocale() 関数は GNU C ライブラリのバージョン 2.3 で初めて登場した。
準拠
POSIX.1-2008.
注意
setlocale(3) と異なり、 uselocale() では特定のロケールカテゴリーだけを指定して置き換えるこ とはできない。 いくつかのカテゴリーだけで現在のロケールとは異なるカテゴリーを利用するに は、 duplocale(3) と newlocale(3) を呼び出して、 現在のロケールと等価なロケールオブジェク トを取得し、 そのオブジェクトの所望のカテゴリーを変更する必要がある。
例
newlocale(3) と duplocale(3) を参照。
関連項目
locale(1), duplocale(3), freelocale(3), newlocale(3), setlocale(3), locale(5), locale(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。