2.7.11. setlocale()

categorylocale 引数によって指定された、適切なロケールを選択します。

構文

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

使用法

setlocale() 関数は、現在のロケールの一部または全部を変更または照会するために使用されます。 値ごとのカテゴリ引数の影響は、「ロケールカテゴリ」で説明されています。 locale"C" の値によって、C 変換の最小限の環境が指定されます。 locale に空文字列 "" を指定すると、実装定義のネイティブ環境が指定されます。 プログラム起動時には、setlocale(LC_ALL, "C") と等価な処理が実行されます。

ロケールカテゴリ

category の値には以下を指定できます。

LC_COLLATE

strcoll() の動作に影響を与えます。

LC_CTYPE

文字処理関数の動作に影響を与えます。

LC_MONETARY

localeconv() によって返される通貨形式設定情報に影響を与えます。

LC_NUMERIC

形式指定付き入出力関数と文字列変換関数の 10 進小数点文字と、localeconv() によって返される数値形式情報に影響を与えます。

LC_TIME

strftime() の動作に影響を与える可能性があります。 現在サポートされているロケールに関しては、このオプションによる影響はありません。

LC_ALL

すべてのロケールカテゴリに影響を与えます。 上記のすべてのロケールカテゴリのビット単位論理和が取られます。

戻り値

locale の文字列へのポインタが渡され、その選択が有効である場合には、新しいロケールに指定されたカテゴリと関連する文字列が返されます。 その選択が無効な場合は NULL ポインタが返され、ロケールは変更されません。

locale に NULL ポインタが渡されると、現在のロケールカテゴリに関する文字列が返され、ロケールは変更されません。

categoryLC_ALL であり、ロケールを適切に設定した直前の呼び出しで LC_ALL 以外のカテゴリが使用された場合には、混合文字列が返されることがあります。 関連カテゴリのその後の呼び出しで使用されたときに返される文字列によって、その部分のプログラムロケールが復元されます。 返される文字列はプログラムによって修正されることはありませんが、setlocale() へのその後の呼び出しによって上書きされる場合があります。

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential