区域设置

区域设置是指您可以用来自定义程序的国家/地区和语言设置。 一些区域设置相关的类别包括日期和货币值的显示格式。 有关详细信息,请参阅区域设置类别

当使用函数,而无需 _l 后缀时,请使用 setlocale 函数更改或查询部分或全部当前程序或线程区域设置信息。 带有 _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

将字符转换为长整数值

LC_NUMERIC

_atodbl、_atodbl_l、_atoldbl、_atoldbl_l、_atoflt _atoflt_l

将字符转换为双长整数值

LC_NUMERIC

是例程

测试特定条件的特定整数。

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

复制一个多字节字符

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

比较两个字符串的字符

LC_COLLATE

_stricmp、_wcsicmp、_mbsicmp、_stricmp_l、_wcsicmp_l、_mbsicmp_l

比较两个字符串不需要考虑用例

LC_CTYPE

_stricoll、_wcsicoll、_mbsicoll、_stricoll_l、_wcsicoll_l、_mbsicoll_l

比较两个字符串字符 (不区分大小写)

LC_COLLATE

_strncoll、_wcsncoll、_mbsncoll、_strncoll_l、_wcsncoll_l、_mbsncoll_l

比较两个字符串的第一个 n 字符

LC_COLLATE

_strnicmp、_wcsnicmp、_mbsnicmp、_strnicmp_l、_wcsnicmp_l、_mbsnicmp_l

比较两个字符串字符不考虑大小写。

LC_CTYPE

_strnicoll、_wcsnicoll、_mbsnicoll、_strnicoll_l、_wcsnicoll_l、_mbsnicoll_l

比较两个字符串的第一个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

将字符字符串转换为无符号长整数值

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 代码页相同。

请参见

参考

国际化

按类别分的运行时例程