localeconv

获取区域设置的详细信息。

语法

struct lconv *localeconv( void );

返回值

localeconv 返回指向类型为 struct lconv 的填充对象的指针。 此对象中包含的值是从线程本地存储的区域设置复制的,后续调用 localeconv 会覆盖这些值。 更改此对象中的值不会修改区域设置。 使用 LC_ALLLC_MONETARYLC_NUMERICcategory 值调用 setlocale 将覆盖结构的内容。

备注

localeconv 函数获取有关当前区域设置的数字格式的详细信息。 此信息存储在 lconv 类型的结构中。 LOCALE.H 中定义的 lconv 结构,包含以下成员:

字段 含义
%>
_W_decimal_point
指向非货币数量的小数点字符的指针。
%>
_W_thousands_sep
指向将数字组分隔到小数点左边的非货币数量的字符的指针。
grouping 指向一个 char 大小的整数的指针,该整数包含非货币数量中每个数字组的大小。
%>
_W_int_curr_symbol
指向当前区域设置的国际货币符号的指针。 前三个字符指定字母国际货币符号,如货币和资金表示形式的 ISO 4217 代码标准中定义。 第四个字符(前面紧邻 null 字符)将国际货币符号与货币数量分隔开来。
%>
_W_currency_symbol
指向当前区域设置的本地货币符号的指针。
%>
_W_mon_decimal_point
指向货币数量的小数点字符的指针。
%>
_W_mon_thousands_sep
指向货币数量中将数字组分隔到小数点位置左边的分隔符的指针。
mon_grouping 指向一个 char 大小的整数的指针,该整数包含货币数量中每个数字组的大小。
%>
_W_positive_sign
非负货币数量的字符串指示符号。
%>
_W_negative_sign
负货币数量的字符串指示符号。
int_frac_digits 带国际格式的货币数量中小数点右侧的数字个数。
frac_digits 带格式的货币数量中小数点右侧的数字个数。
p_cs_precedes 如果货币符号位于带格式的非负货币数量值的前面,则设置为 1。 如果符号紧随值后,则设置为 0。
p_sep_by_space 如果货币符号通过空格与带格式的非负货币数量值分隔开来,则设置为 1。 如果没有空格分离,则设置为 0。
n_cs_precedes 如果货币符号位于带格式的负货币数量值的前面,则设置为 1。 如果符号紧随值后,则设置为 0。
n_sep_by_space 如果货币符号通过空格与带格式的负货币数量值分隔开来,则设置为 1。 如果没有空格分离,则设置为 0。
p_sign_posn 在带格式的非负货币数量中,加号的位置。
n_sign_posn 在带格式的负货币数量中,加号的位置。

除非指定,否则具有 char *wchar_t * 版本的 lconv 结构成员是指向字符串的指针。 任何等于 ""(或 wchar_t *L"") 的成员长度为零,或在当前区域设置中不受支持。 decimal_point_W_decimal_point 始终受支持且长度为非零。

结构为 char 的成员是小的非负数字,不是字符。 当前区域设置不支持任何等于 CHAR_MAX 的成员。

groupingmon_grouping 的值根据以下规则进行解释:

  • CHAR_MAX - 不要执行任何进一步分组。

  • 0 - 将之前的元素用于每个剩余数字。

  • n - 构成当前组的数字数。 检查下一个元素以确定当前组前下一组数字的大小。

int_curr_symbol 的值根据以下规则进行解释:

  • 前三个字符指定字母国际货币符号,如货币和资金表示形式的 ISO 4217 代码标准中定义。

  • 第四个字符(前面紧邻 null 字符)将国际货币符号与货币数量分隔开来。

p_cs_precedesn_cs_precedes 的值根据以下规则进行解释(n_cs_precedes 规则位于括号中):

  • 0 - 货币符号位于带格式的非负(负)货币值的值之后。

  • 1 - 货币符号位于带格式的非负(负)货币值的值之前。

p_sep_by_spacen_sep_by_space 的值根据以下规则进行解释(n_sep_by_space 规则位于括号中):

  • 0 - 货币符号通过空格与带格式的非负(负)货币值的值分隔。

  • 1 - 货币符号和非负值(负)格式货币值之间没有空格分隔。

p_sign_posnn_sign_posn 的值根据以下规则进行解释:

  • 0 - 括号括起来的数量和货币符号。

  • 1 - 符号字符串位于数量和货币符号之前。

  • 2 - 符号字符串位于数量和货币符号之后。

  • 3 - 符号字符串位于货币符号之前。

  • 4 - 符号字符串位于货币符号之后。

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

要求

例程 必需的标头
localeconv <locale.h>

有关兼容性的详细信息,请参阅 兼容性

C 运行时库的所有版本。

另请参阅

区域设置
setlocale
strcoll 函数