NL_LANGINFO

Section: Linux Programmer's Manual (3)
Updated: 2014-05-28
Index JM Home Page
 

名前

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

関連キーワード

ロケール   langinfo   記号   表現   数値   エンコード   locale   固有   書式   基数   ポインター   カテゴリー   選択   時間   日付   曜日   慣習   省略   質問   応答   認識   正規   通貨   配置   前置

Linux マニュアル 一覧

関連するコマンド・関数

nl_langinfo.3   locale.7   strftime.3   localeconv.3   uselocale.3   MB_CUR_MAX.3
 

Index

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

This document was created by man2html, using the manual pages.
Time: 04:39:37 GMT, October 11, 2026