Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_all bug

名前

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

書式

       #include <locale.h>

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

説明

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

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

       カテゴリー          制御対象
       LC_ALL              全てのロケール
       LC_ADDRESS          住所と地理関連の
                           要素のフォーマット
       LC_COLLATE          文字の照合順序
       LC_CTYPE            文字の分類
       LC_IDENTIFICATION   ロケールの説明メタデータ (*)
       LC_MEASUREMENT      単位系に関する設定
                           (メートル法か US 由来の単位系) (*)
       LC_MESSAGES         地域化可能な自然言語メッセージ
       LC_MONETARY         金額の表示方法
       LC_NAME             人へのあいさつの言葉
       LC_NUMERIC          金額以外の数値の表示方法
       LC_PAPER            標準の紙のサイズに関する設定 (*)
       LC_TELEPHONE        電話サービスで使用されるフォーマット (*)
       LC_TIME             日付と時刻の表示方法

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

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

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

       "C" ロケールや "POSIX" ロケールは互換性のあるロケールである。  この  LC_CTYPE  の部分は  7
       ビット ASCII 文字集合に相当している。

       ロケール名の書式は、通常 language[_territory][.codeset][@modifier] というものである。 ここ
       で language は ISO 639 の言語コードである。 territory  は  ISO  3166  の国名コードである。
       codesetISO-8859-1UTF-8 のような文字集合や文字符号化識別子である。 サポートされてい
       るロケールの一覧を得るには、 "locale -a" を実行してみよ (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 になる。

準拠

       C89, C99, POSIX.1-2001.

関連項目

       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 プロジェクトのリリース 3.79 の一部 である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。