Manpages

名 前

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