Share via


ロケール

ロケールとは、プログラムをカスタマイズするために使用できる国または地域と言語を表します。 ロケールに依存するカテゴリとしては、日付や通貨の値の表示形式などがあります。 詳細については、「ロケールのカテゴリ」を参照してください。

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

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

次の表に示す関数のセキュリティを強化したバージョンは、_s ("secure") というサフィックスによって表されます。 詳細については、「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

文字を double-long 型の値に変換

LC_NUMERIC

is ルーチン

特定の状態で指定した整数をテストします。

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、wcslen、_mbslen、_mbslen_l、_mbstrlen、_mbstrlen_l

マルチバイト文字列の場合、文字列内の各文字を検証し、文字列の長さを返す

LC_CTYPE

mbstowcs、_mbstowcs_l,mbstowcs_s、_mbstowcs_s_l

マルチバイト文字のシーケンスを、対応するワイド文字のシーケンスに変換

LC_CTYPE

mbtowc、_mbtowc_l

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

LC_CTYPE

printf 関数

書式付き出力を書き出す

LC_NUMERIC (小数点文字の出力を決定)

scanf 関数

書式付き入力を読み取る

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 で設定されたロケールと同じである必要があります。_MB_CP_LOCALE 引数を指定した _setmbcp では、マルチバイトのコード ページを setlocale のコード ページと同じにします。

参照

関連項目

国際化

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