Provided by: manpages-ja-dev_0.5.0.0.20070415-1_all bug
     前
        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
               時刻と日付けの書式
 
        引た    locale    は   category   に設定する文字列へのポインタである。
        この文字列はよく知られた定数である  "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 の国名コードである。 codeset は ISO-8859-1 や  UTF-8
        のような文字集合や文字符号化識別子である。
        サポートされているロケールの一覧を得るには、 "locale -a" を実行してみよ
        (locale(1) 参照のこと)。
 
        locale が NULL ならば、現在のロケールを問い合わせるのみで変更はしない。
 
        main         プログラムの起動時には、          互換世里△          "C"
        ロケールがデフォルトで選択される。
        プログラムをすべてのロケールに対して互換にしたければ、
        プログラムの初期化の後に             setlocale(LC_ALL,             "*")
        を呼び出し、ロケール依存の情報には    localeconv()     の返り値を用い、
        MB_CUR_MAX                              >                             1
        の場合には文字列の操作には多バイト文字、ワイド文字関数を使用し、
        文字列の比較には   strcoll(),   wcscoll()   や   strxfrm(),   wcsxfrm()
        を用いる。
 
         値
        setlocale()                                    の呼び出しに成功すると、
        そのロケール集合に対応する内部文字列     (opaque    string)    を返す。
        この文字列は静的な飢碓茲乏笋蠹てられているかもしれない。
        この返って来た文字列を、カテゴリ指定と共に、      のちの      setlocale
        の呼び出しに指定すれば、     プロセスのその部分のロケールが復元される。
        設定に失敗した場合には、返り値は NULL になる。
 
     拠
        C99, POSIX.1-2001.
 
     意
        Linux  (というか  GNU  libc) は互換世里△襯蹈院璽襪箸靴 "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()  は正しい答えを返した。
        最近では、英語以外を使うヨーロッパ人はもう少々やっかいな作業を必要とし、
        実際のロケールファイルをインストールしなければならない。
 
             
        locale(1),  localedef(1),  isalpha(3),  localeconv(3),  nl_langinfo(3),
        rpmatch(3), strcoll(3), strftime(3), charsets(4), locale(7)