名 前
nl_langinfo − 言 語 と ロ ケ ー ル の 情 報 を 問 い 合 わ せ る
書 式
#include <langinfo.h>
char *nl_langinfo(nl_item item);
説 明
nl_langinfo() 関 数 は 、 localeconv(3) よ り 柔 軟 な ロ ケ ー ル 情 報 へ の ア ク セ ス 方 法 を 提 供 す る 。 ロ ケ ー ル カ テ ゴ リ ー の 個 々 の 要 素 や 追 加 の 要 素 を 問 い 合 わ せ る こ と が で き る 。
<langinfo.h>
に 定 数 と し て
定 義 さ れ て い
て 、 item に 指 定
で き る ロ ケ ー
ル 要 素 の 例 を
以 下 に 示 す :
CODESET (LC_CTYPE) 選 択 さ
れ た ロ ケ ー ル
で 用 い ら れ る
文 字 エ ン コ ー
ド 名 を 示 す 文
字 列 を 返 す 。
文 字 エ ン コ ー
ド 名 と し て は
、 "UTF−8" や
"ISO−8859−1"、
"ANSI_X3.4−1968" (こ れ は
US−ASCII と い う 名 前
の 方 が よ く 知
ら れ て い る ) な
ど が あ る 。 こ
の 文 字 列 は 、
"locale charmap" を 実 行
し て 得 ら れ る
も の と 同 じ で
あ る 。 文 字 エ
ン コ ー ド 名 の
リ ス ト を 得 る
に は 、 "locale −m"
を 実 行 す る と
よ い 。 参 考 :
locale(1)
D_T_FMT (LC_TIME) ロ ケ ー
ル 固 有 の 時 間
と 日 付 を 表 現
す る と き に 、
strftime(3) で 使 用 で
き る 書 式 付 き
文 字 列 を 返 す
。
D_FMT (LC_TIME) ロ ケ ー ル
固 有 の 日 付 を
表 現 す る と き
に 、 strftime(3) で 使
用 で き る 書 式
付 き 文 字 列 を
返 す 。
T_FMT (LC_TIME) ロ ケ ー ル
固 有 の 時 間 を
表 現 す る と き
に 、 strftime(3) で 使
用 で き る 書 式
付 き 文 字 列 を
返 す 。
DAY_{1–7} (LC_TIME) 曜 日 名
(週 の n 番 目 の
日 の 名 前 ) を 返
す 。 [警 告 : こ の
要 素 は ア メ リ
カ の 慣 習 に 従
っ て DAY_1 が 日 曜 日
と な る 。 国 際
的 な 慣 習 (ISO 8601) で
は 月 曜 日 が 週
の 最 初 の 日 で
あ る 。 ]
ABDAY_{1–7} (LC_TIME) 曜 日 (週
の n 番 目 の 日 )
の 省 略 名 を 返
す 。
MON_{1–12} (LC_TIME)
n 番 目 の 月 の 名 前 を 返 す 。
ABMON_{1–12} (LC_TIME)
n 番 目 の 月 の 省 略 名 を 返 す 。
RADIXCHAR (LC_NUMERIC)
基 数 記 号 (小 数
点 や コ ン マ な
ど ) を 返 す 。
THOUSEP (LC_NUMERIC) 千 の 位 (3
桁 の 数 値 ) の 区
切 り 文 字 を 返
す 。
YESEXPR (LC_MESSAGES)
yes/no の 質 問 に 対 す る 肯 定 の 応 答 を 認 識 す る た め に 、 regex(3) 関 数 で 使 用 で き る 正 規 表 現 を 返 す 。
NOEXPR (LC_MESSAGES)
yes/no の 質 問 に 対 す る 否 定 の 応 答 を 認 識 す る た め に regex(3) 関 数 で 使 用 で き る 正 規 表 現 を 返 す 。
CRNCYSTR (LC_MONETARY) 通 貨 記 号 を 返 す 。 記 号 が 数 値 の 前 に 配 置 さ れ る 場 合 は 、 "−" が 通 貨 記 号 に 前 置 さ れ る 。 数 値 の 後 に 記 号 が 配 置 さ れ る 場 合 は "+" が 、 記 号 が 基 数 文 字 と 置 き 換 わ る 場 合 は "." が 前 置 さ れ る 。 上 記 の リ ス ト は 、 要 求 で き る 定 義 の ご く 一 部 で あ る 。 詳 細 な リ ス ト は 、 GNU C ラ イ ブ ラ リ リ フ ァ レ ン ス マ ニ ュ ア ル を 参 照 し て ほ し い 。
返 り 値
適 切 な カ テ ゴ リ ー の ロ ケ ー ル が setlocale(3) に よ っ て 選 択 さ れ て い な い 場 合 は 、 nl_langinfo() は "C" ロ ケ ー ル の と き に 相 当 す る 文 字 列 へ の ポ イ ン タ ー を 返 す 。 無 効 な item の 場 合 は 、 空 文 字 列 へ の ポ イ ン タ ー が 返 さ れ る 。 こ の ポ イ ン タ ー は 静 的 な デ ー タ 領 域 を 指 し 、 そ の 内 容 は 次 回 の nl_langinfo() や setlocale(3) の 呼 び 出 し に よ っ て 書 き 替 わ る こ と が あ る 。
準 拠
SUSv2, POSIX.1−2001.
例
以 下 の プ ロ グ ラ ム は 、 環 境 変 数 に 基 い て 文 字 型 (character type) と 数 値 の ロ ケ ー ル を 設 定 し 、 端 末 の 文 字 集 合 と 基 数 文 字 の 問 い 合 わ せ を 行 う 。
#include
<langinfo.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
setlocale(LC_CTYPE, "");
setlocale(LC_NUMERIC, "");
printf("%s\n", nl_langinfo(CODESET));
printf("%s\n", nl_langinfo(RADIXCHAR));
exit(EXIT_SUCCESS); }
関 連 項 目
locale(1),
localeconv(3), setlocale(3),
charsets(7), locale(7)
GNU C ラ イ ブ ラ リ リ
フ ァ レ ン ス マ
ニ ュ ア ル
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。