ロケール

"ロケール" とは、地域性 (国や地域および言語) を意味しており、これに合わせてプログラムの一部をカスタマイズできます。 ロケールに依存するカテゴリとしては、日付の形式や通貨値の表示形式などがあります。 詳細については、「ロケールのカテゴリ」を参照してください。

setlocale 関数は、_l サフィックスの付いていない関数を使用する際に、現在のプログラムまたはスレッドのロケール情報の一部またはすべてを変更したり問い合わせたりする場合に使用します。 _l サフィックスの付いた関数は、その特定の関数が実行されている間だけ、渡されたロケール パラメーターをロケール情報として使用します。 _l サフィックスの付いた関数で使用するロケールを作成するには、_create_locale を使用します。 このロケールを解放するには、_free_locale を使用します。 現在のロケールを取得するには、_get_current_locale を使用します。

_configthreadlocale を使用して、各スレッドに独自のロケールを使用するか、プログラム内のすべてのスレッドで同じロケールを共有するかを制御します。 詳細については、「ロケールとコード ページ」を参照してください。

次の表にあるセキュリティが強化されたバージョンの関数が使用できるようになりました。この関数は、_s ("セキュリティで保護された" を示す) サフィックスで示されています。 詳細については、「CRT のセキュリティ機能」を参照してください。

ロケール依存のルーチン

ルーチン

使用方法

setlocale カテゴリの設定依存

atof、_atof_l、_wtof、_wtof_l

文字を浮動小数点値に変換します。

LC_NUMERIC

atoi、_atoi_l、_wtoi、_wtoi_l

文字を整数値に変換します。

LC_NUMERIC

_atoi64、_atoi64_l、_wtoi64、_wtoi64_l

文字を 64 ビット整数値に変換します。

LC_NUMERIC

atol、_atol_l、_wtol、_wtol_l

文字を long 型の値に変換します。

LC_NUMERIC

_atodbl、_atodbl_l、_atoldbl、_atoldbl_l、_atoflt _atoflt_l

文字を long double 型の値に変換します。

LC_NUMERIC

is、isw 系ルーチン

指定された整数が特定の条件を満たしているかどうかをテストします。

LC_CTYPE

isleadbyte、_isleadbyte_l

先頭バイトかどうかをテストします。

LC_CTYPE

localeconv

数量を書式化するために適切な値を読み出します。

LC_MONETARY, LC_NUMERIC

MB_CUR_MAX

現在のロケールにおけるマルチバイト文字の最大バイト数 (STDLIB.H 中で定義されるマクロ)。

LC_CTYPE

_mbccpy、_mbccpy_l,_mbccpy_s、_mbccpy_s_l

マルチバイト文字 1 文字をコピーします。

LC_CTYPE

_mbclen、mblen、_mblen_l

マルチバイト文字のバイト数の妥当性をチェックし、バイト数を返します。

LC_CTYPE

strlen、strlen_l、wcslen、wcslen_l、_mbslen、_mbslen_l、_mbstrlen、_mbstrlen_l

マルチバイト文字の文字列は。文字列の各文字を検証します。 文字列の長さを返す

LC_CTYPE

mbstowcs、_mbstowcs_l,mbstowcs_s、_mbstowcs_s_l

マルチバイト文字の並びを対応するワイド文字の並びに変換する。

LC_CTYPE

mbtowc、_mbtowc_l

マルチバイト文字を対応するワイド文字に変換する。

LC_CTYPE

printf functions

書式付き出力を書き込みます。

LC_NUMERIC (基数文字の出力を決定する)

scanf functions

書式付き入力を読み出します。

LC_NUMERIC (基数文字の認識を決定します)

setlocale、_wsetlocale

プログラム用のロケールを選択します。

適用なし

strcoll、wcscoll、_mbscoll、_strcoll_l、_wcscoll_l、_mbscoll_l

2 つの文字列の文字を比較します。

LC_COLLATE

_stricmp、_wcsicmp、_mbsicmp、_stricmp_l、_wcsicmp_l、_mbsicmp_l

大文字小文字を区別せずに、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

strftime、wcsftime、_strftime_l、_wcsftime_l

指定された 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

strtod、_strtod_l、wcstod、_wcstod_l

文字列を double 値に変換します。

LC_NUMERIC (基数文字の認識を決定します)

strtol、wcstol、_strtol_l、_wcstol_l

文字列を long 値に変換します。

LC_NUMERIC (基数文字の認識を決定します)

strtoul、_strtoul_l、wcstoul、_wcstoul_l

文字列を 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

strxfrm、wcsxfrm、_strxfrm_l、_wcsxfrm_l

ロケールに基づいて、文字列を照合形式に変換します。

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

wcstombs、_wcstombs_l,wcstombs_s、_wcstombs_s_l

ワイド文字の並びを対応するマルチバイト文字の並びに変換する。

LC_CTYPE

wctomb、_wctomb_l,wctomb_s、_wctomb_s_l

ワイド文字を対応するマルチバイト文字に変換する。

LC_CTYPE

注意

マルチバイト ルーチンでは、マルチバイト コード ページが setlocale で設定されたロケールと同じである必要があります。 _setmbcp で引数 _MB_CP_LOCALE を指定すると、マルチバイト コード ページが setlocale のコード ページと同じになります。

参照

参照

国際化

カテゴリ別ランタイム ルーチン