名 前
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/ に 書 か れ て い る 。