setlocale()

locale.h で定義されるこの関数は、category 引数と locale 引数によって指定された、適切なロケールを選択します。

Show/hide構文

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

Show/hide使用法

setlocale() 関数は、現在のロケールの一部または全部を、変更または照会するために使用します。それぞれの値に対応する category 引数の影響は、以下のとおりです。

LC_COLLATE

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

LC_CTYPE

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

LC_MONETARY

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

LC_NUMERIC

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

LC_TIME

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

LC_ALL

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

locale に値 "C" を指定すると、C 変換の最小限の環境が指定されます。locale に空文字列 "" を指定すると、実装定義のネイティブ環境が指定されます。プログラム起動時には、setlocale(LC_ALL, "C") と等価な処理が実行されます。

locale の有効な値は、インポートした __use_X_ctype シンボル(__use_iso8859_ctype__use_sjis_ctype__use_utf8_ctypte)と、ユーザ定義ロケールによって異なります。

Show/hide戻り値

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

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

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

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0809AJ
Non-ConfidentialID061814