Manpages

名 前

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

COMMENTS