ロケール
更新 : 2007 年 11 月
"ロケール" とは、地域性 (国や地域および言語) を意味しており、これに合わせてプログラムの一部をカスタマイズできます。ロケールに依存するカテゴリとしては、日付の形式や通貨値の表示形式などがあります。詳細については、「ロケールのカテゴリ」を参照してください。
setlocale 関数は、_l サフィックスの付いていない関数を使用する際に、現在のプログラムまたはスレッドのロケール情報の一部またはすべてを変更したり問い合わせたりする場合に使用します。_l サフィックスの付いた関数は、その特定の関数が実行されている間だけ、渡されたロケール パラメータをロケール情報として使用します。_l サフィックスの付いた関数で使用するロケールを作成するには、_create_locale を使用します。このロケールを解放するには、_free_locale を使用します。現在のロケールを取得するには、_get_current_locale を使用します。
_configthreadlocale を使用して、各スレッドに独自のロケールを使用するか、プログラム内のすべてのスレッドで同じロケールを共有するかを制御します。詳細については、「ロケールとコード ページ」を参照してください。
次の表にあるセキュリティが強化されたバージョンの関数が使用できるようになりました。この関数は、_s ("セキュリティで保護された" を示す) サフィックスで示されています。詳細については、「CRT のセキュリティ強化」を参照してください。
ロケール依存のルーチン
ルーチン |
用途 |
setlocale カテゴリの設定依存 |
---|---|---|
文字を浮動小数点値に変換します。 |
LC_NUMERIC |
|
文字を整数値に変換します。 |
LC_NUMERIC |
|
文字を 64 ビット整数値に変換します。 |
LC_NUMERIC |
|
文字を long 型の値に変換します。 |
LC_NUMERIC |
|
文字を long double 型の値に変換します。 |
LC_NUMERIC |
|
指定された整数が特定の条件を満たしているかどうかをテストします。 |
LC_CTYPE |
|
先頭バイトかどうかをテストします。 |
LC_CTYPE |
|
数量を書式化するために適切な値を読み出します。 |
LC_MONETARY, LC_NUMERIC |
|
現在のロケールにおけるマルチバイト文字の最大バイト数 (STDLIB.H 中で定義されるマクロ)。 |
LC_CTYPE |
|
マルチバイト文字 1 文字をコピーします。 |
LC_CTYPE |
|
マルチバイト文字のバイト数の妥当性をチェックし、バイト数を返します。 |
LC_CTYPE |
|
strlen、strlen_l、wcslen、wcslen_l、_mbslen、_mbslen_l、_mbstrlen、_mbstrlen_l |
マルチバイト文字列用。文字列の各文字の妥当性をチェックし、文字列の長さを返します。 |
LC_CTYPE |
マルチバイト文字の並びを対応するワイド文字の並びに変換する。 |
LC_CTYPE |
|
マルチバイト文字を対応するワイド文字に変換する。 |
LC_CTYPE |
|
printf functions |
書式付き出力を書き込みます。 |
LC_NUMERIC (基数文字の出力を決定する) |
scanf functions |
書式付き入力を読み出します。 |
LC_NUMERIC (基数文字の認識を決定します) |
プログラム用のロケールを選択します。 |
該当なし |
|
2 つの文字列の文字を比較します。 |
LC_COLLATE |
|
大文字小文字を区別せずに、2 つの文字列を比較します。 |
LC_CTYPE |
|
_stricoll、_wcsicoll、_mbsicoll、_stricoll_l、_wcsicoll_l、_mbsicoll_l |
2 つの文字列の文字を比較します。大文字小文字は区別しません。 |
LC_COLLATE |
_strncoll、_wcsncoll、_mbsncoll、_strncoll_l、_wcsncoll_l、_mbsncoll_l |
2 つの文字列の最初の n 文字を比較します。 |
LC_COLLATE |
_strnicmp、_wcsnicmp、_mbsnicmp、_strnicmp_l、_wcsnicmp_l、_mbsnicmp_l |
大文字と小文字を区別せずに 2 つの文字列の文字を比較します。 |
LC_CTYPE |
_strnicoll、_wcsnicoll、_mbsnicoll、_strnicoll_l、_wcsnicoll_l、_mbsnicoll_l |
2 つの文字列の最初の n 文字を比較します。大文字小文字は区別しません。 |
LC_COLLATE |
指定された format 引数に従って日付と時刻の値の書式を設定します。 |
LC_TIME |
|
_strlwr、_wcslwr、_mbslwr、_strlwr_l、_wcslwr_l、_mbslwr_l,_strlwr_s、_strlwr_s_l、_mbslwr_s、_mbslwr_s_l、_wcslwr_s、_wcslwr_s_l |
指定された文字列の大文字を正しく小文字に変換します。 |
LC_CTYPE |
文字列を double 値に変換します。 |
LC_NUMERIC (基数文字の認識を決定します) |
|
文字列を long 値に変換します。 |
LC_NUMERIC (基数文字の認識を決定します) |
|
文字列を unsigned long 型の値に変換します。 |
LC_NUMERIC (基数文字の認識を決定します) |
|
_strupr、_strupr_l、_mbsupr、_mbsupr_l、_wcsupr_l、_wcsupr,_strupr_s、_strupr_s_l、_mbsupr_s、_mbsupr_s_l、_wcsupr_s、_wcsupr_s_l |
指定された文字列の小文字を正しく大文字に変換します。 |
LC_CTYPE |
ロケールに基づいて、文字列を照合形式に変換します。 |
LC_COLLATE |
|
tolower、_tolower、towlower、_tolower_l、_towlower_l,_mbctolower、_mbctolower_l、_mbctoupper、_mbctoupper_l |
指定された文字を対応する小文字に変換します。 |
LC_CTYPE |
toupper、_toupper、towupper、_toupper_l、_towupper_l,_mbctolower、_mbctolower_l、_mbctoupper、_mbctoupper_l |
指定された文字を対応する大文字に変換します。 |
LC_CTYPE |
ワイド文字の並びを対応するマルチバイト文字の並びに変換する。 |
LC_CTYPE |
|
ワイド文字を対応するマルチバイト文字に変換する。 |
LC_CTYPE |
メモ : |
---|
マルチバイト ルーチンでは、マルチバイト コード ページが setlocale で設定されたロケールと同じである必要があります。_setmbcp で引数 _MB_CP_LOCALE を指定すると、マルチバイト コード ページが setlocale のコード ページと同じになります。 |