区域设置
区域设置是指您可以用来自定义程序的国家/地区和语言设置。 一些区域设置相关的类别包括日期和货币值的显示格式。 有关详细信息,请参阅区域设置类别。
当使用函数,而无需 _l 后缀时,请使用 setlocale 函数更改或查询部分或全部当前程序或线程区域设置信息。 带有 _l 后缀的函数将使用仅在该特定函数的执行过程中传递的区域设置信息区域设置参数。 用带有 _l 后缀的函数创建一个区域设置用于,请使用 _create_locale。 若要释放该区域设置,请使用 _free_locale。 若要获取当前区域设置,请使用 _get_current_locale。
使用 _configthreadlocale 控制每个线程是否有其自己的区域设置,或者在程序中的所有线程共享同一区域设置。 有关详细信息,请参阅 区域设置和代码页。
函数的更安全版本可用在下面表格中显示,由 _s (“安全”) 后缀表示。 有关详细信息,请参阅CRT 中的安全功能。
与区域设置相关的例程
例程 |
用途 |
setlocale 分类设置依赖项 |
---|---|---|
将字符转换为浮点值 |
LC_NUMERIC |
|
将字符转换为整数值 |
LC_NUMERIC |
|
将字符转换为 64 位整数值 |
LC_NUMERIC |
|
将字符转换为长整数值 |
LC_NUMERIC |
|
将字符转换为双长整数值 |
LC_NUMERIC |
|
测试特定条件的特定整数。 |
LC_CTYPE |
|
测试前导字节 |
LC_CTYPE |
|
读取适当的值来格式化数字量 |
LC_MONETARY, LC_NUMERIC |
|
在当前区域设置中任何多字节字符的最大字节长度(在 STDLIB.H定义的宏) |
LC_CTYPE |
|
复制一个多字节字符 |
LC_CTYPE |
|
验证并返回在多字节字符的字节数 |
LC_CTYPE |
|
对于多字节字符字符串:验证在字符串中的每个字符;返回字符串的长度 |
LC_CTYPE |
|
将多字节字符序列转换为宽字符的对应序列 |
LC_CTYPE |
|
将多字节字符转换为相应的宽字符 |
LC_CTYPE |
|
printf 函数 |
编写格式化的输出 |
LC_NUMERIC (确定基数字符输出) |
scanf 函数 |
读取格式化的输入 |
LC_NUMERIC (确定基数字符标识) |
为程序选择区域设置 |
不适用 |
|
比较两个字符串的字符 |
LC_COLLATE |
|
比较两个字符串不需要考虑用例 |
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 |
根据所提供的 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 (确定基数字符标识) |
|
将字符字符串转换为无符号长整数值 |
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 |