Available in

(3) (3)/es (3)/fr (3)/ja (3)/pt (3)/zh_CN (3)/zh_TW (3c) (3posix)

TOC

SETLOCALE(3)               Linux Programmer's Manual              SETLOCALE(3)



名樵前

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

書饉式

       #include <locale.h>

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

説睫明

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

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

       LC_ALL 全てのロケール

       LC_COLLATE
              正規表現のマッチング
              (範囲表現と等価クラスのマッチングを決定する)      と文字列の照合
              (collation)

       LC_CTYPE
              正規表現のマッチング、文字の分類、文字の変換、大文字小文字比較、
              ワイド文字関数

       LC_MESSAGES
              地域化可能な自然言語メッセージ

       LC_MONETARY
              通貨の書式

       LC_NUMERIC
              数値の書式 (小数点や 3 桁ごとの区切り)

       LC_TIME
              時刻と日付けの書式

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

       locale""  の場合、ロケールの各部分の設定には環曲竸瑤参照される。
       その詳細は実装依存である。  glibc  の場合、まず最初に  (どんな category
       に対しても)  環曲竸  LC_ALL  が検査される。  次にカテゴリ   (category)
       と同じ名前の環曲竸  (LC_COLLATE,  LC_CTYPE,  LC_MESSAGES, LC_MONETARY,
       LC_NUMERIC,  LC_TIME)  が検査され、最後に環曲竸  LANG   が検査される。
       最初に見つかった環曲竸瑤鮖藩僂垢襦
       その値がロケール指定として正しくなければ、ロケールは変更されず、 setlo-
       cale() は NULL を返す。

       "C"   ロケールや   "POSIX"  ロケールは互換世里△襯蹈院璽襪任△襦  この
       LC_CTYPE の部分は 7 ビット ASCII 文字集合に相当している。

       ロケール名の書式は、通常      language[_territory][.codeset][@modifier]
       というものである。 ここで language は ISO 639 の言語コードである。 ter-
       ritory は 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.

注躇意

       Linux  (というか  glibc)  は互換世里△襯蹈院璽襪箸靴  "C""POSIX"
       をサポートしている。  古い茲時代には (例えば libc-4.5.21 と libc-4.6.27
       などでは)、      European       Latin-1       向けに       "ISO-8859-1"
       ロケールがサポートされており、   ロシア語   (Russian)   向けに  "KOI-8"
       (より正確には "koi-8r") ロケールがサポートされていた。  従って環曲竸瑤
       LC_CTYPE=ISO-8859-1  と指定するだけで isprint(3) は正しい答えを返した。
       最近では、英語以外を使うヨーロッパ人はもう少々やっかいな作業を必要とし、
       実際のロケールファイルをインストールしなければならない。

関慙連項猝目

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



GNU                               1999-07-04                      SETLOCALE(3)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.