Man page - setlocale(3)

Packages contains this manual

Available languages:

en fr ja ru zh_TW zh_CN

Manual

SETLOCALE

名 前
書 式
説 明
返 り 値
属 性
準 拠
関 連 項 目
こ の 文 書 に つ い て

名 前

setlocale - 現 在 の ロ ケ ー ル (locale) を 設 定 す る

書 式

#include <locale.h>

char *setlocale(int category , const char * locale );

説 明

setlocale () 関 数 は プ ロ グ ラ ム の カ レ ン ト ロ ケ ー ル を 設 定 し た り 問 い 合 わ せ た り す る の に 用 い ら れ る 。

locale が NULL で な け れ ば 、 プ ロ グ ラ ム の カ レ ン ト ロ ケ ー ル は 引 数 に 従 っ て 変 更 さ れ る 。 引 数 category は プ ロ グ ラ ム の カ レ ン ト ロ ケ ー ル の ど の 部 分 を 変 更 す る か を 決 め る 。

Image grohtml-35777-1.png

上 の 表 で ア ス タ リ ス ク が 付 い て い る た カ テ ゴ リ ー は GNU 拡 張 で あ る 。 ロ ケ ー ル の カ テ ゴ リ ー の 詳 細 な 情 報 は locale (7) を 参 照 。

引 数 locale category に 設 定 す る 文 字 列 へ の ポ イ ン タ ー で あ る 。 こ の 文 字 列 は よ く 知 ら れ た 定 数 で あ る "C" や "da_DK" な ど で も 良 い し (以 下 を 参 照 )、 他 の と き に setlocale () を 呼 び 出 し た 際 に 返 さ れ た 、 内 部 用 の 文 字 列 で も 良 い 。

locale が 空 文 字 列 "" の 場 合 、 ロ ケ ー ル の 各 部 分 の 設 定 に は 環 境 変 数 が 参 照 さ れ る 。 そ の 詳 細 は 実 装 依 存 で あ る 。 glibc の 場 合 、 ま ず 最 初 に (ど ん な category に 対 し て も ) 環 境 変 数 LC_ALL が 検 査 さ れ る 。 次 に カ テ ゴ リ ー (category) と 同 じ 名 前 の 環 境 変 数 (上 記 の 表 を 参 照 ) が 検 査 さ れ 、 最 後 に 環 境 変 数 LANG が 検 査 さ れ る 。 最 初 に 見 つ か っ た 環 境 変 数 を 使 用 す る 。 そ の 値 が ロ ケ ー ル 指 定 と し て 正 し く な け れ ば 、 ロ ケ ー ル は 変 更 さ れ ず 、 setlocale () は NULL を 返 す 。

The locale "C" or "POSIX" is a portable locale; it exists on all conforming systems.

A locale name is typically of the form language [_ territory ][. codeset ][@ modifier ], where language is an ISO 639 language code, territory is an ISO 3166 country code, and codeset is a character set or encoding identifier like ISO-8859-1 or UTF-8 . For a list of all supported locales, try "locale -a" (see locale (1)).

locale が NULL な ら ば 、 現 在 の ロ ケ ー ル を 問 い 合 わ せ る の み で 変 更 は し な い 。

main プ ロ グ ラ ム の 起 動 時 に は 、 互 換 性 の あ る "C" ロ ケ ー ル が デ フ ォ ル ト で 選 択 さ れ る 。 プ ロ グ ラ ム を す べ て の ロ ケ ー ル に 対 し て 互 換 に し た け れ ば 、 プ ロ グ ラ ム の 初 期 化 の 後 に

setlocale(LC_ALL, "");

を 呼 び 出 し 、 ロ ケ ー ル 依 存 の 情 報 に は localeconv (3) の 返 り 値 を 用 い 、 MB_CUR_MAX > 1 の 場 合 に は 文 字 列 の 操 作 に は 多 バ イ ト 文 字 、 ワ イ ド 文 字 関 数 を 使 用 し 、 文 字 列 の 比 較 に は strcoll (3), wcscoll (3) や strxfrm (3), wcsxfrm (3) を 用 い る 。

返 り 値

setlocale () の 呼 び 出 し に 成 功 す る と 、 そ の ロ ケ ー ル 集 合 に 対 応 す る 内 部 文 字 列 (opaque string) を 返 す 。 こ の 文 字 列 は 静 的 な 記 憶 域 に 割 り 当 て ら れ て い る か も し れ な い 。 こ の 返 っ て 来 た 文 字 列 を 、 カ テ ゴ リ ー 指 定 と 共 に 、 の ち の setlocale の 呼 び 出 し に 指 定 す れ ば 、 プ ロ セ ス の そ の 部 分 の ロ ケ ー ル が 復 元 さ れ る 。 設 定 に 失 敗 し た 場 合 に は 、 返 り 値 は NULL に な る 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-35777-2.png

準 拠

POSIX.1-2001, POSIX.1-2008, C89, C99.

The C standards specify only the categories LC_ALL , LC_COLLATE , LC_CTYPE , LC_MONETARY , LC_NUMERIC , and LC_TIME . POSIX.1 adds LC_MESSAGES . The remaining categories are GNU extensions.

関 連 項 目

locale (1), localedef (1), isalpha (3), localeconv (3), nl_langinfo (3), rpmatch (3), strcoll (3), strftime (3), charsets (7), locale (7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。