localeconv函数
概要:
#include <locale.h> struct lconv *localeconv(void);
描述:
该函数根据当前语言环境规则,使用适用于格式化数量(货币和其它)的值来设置struct lconv类型对象的成员。
实现应像没有库函数调用localeconv函数一样。
参数:
无。
返回值:
函数返回一个指向struct lconv类型对象的指针。程序不能修改该指针指向的对象,但后续localeconv函数调用可以覆盖该对象;此外调用setlocale函数(参数category值为LC_ALL、LC_MONETARY或者LC_NUMERIC。)也可能覆盖该对象内容。
范例:
|
|
输出:
current locale: zh-CN
decimal_point: .
thousands_sep: ,
grouping: 3
mon_decimal_point: .
mon_thousands_sep: ,
mon_grouping: 3
positive_sign:
negative_sign: -
currency_symbol: ¥
frac_digits: 2
p_cs_precedes: 1
n_cs_precedes: 1
p_sep_by_space: 0
n_sep_by_space: 0
p_sign_posn: 4
n_sign_posn: 4
int_curr_symbol: CNY
int_frac_digits: 2
注:使用Visual Studio编译。
截至程序编译时,visual studio编译器还未支持int_p_cs_precedes、int_n_cs_precedes、int_p_sep_by_space、int_n_sep_by_space、int_p_sign_posn、int_n_sign_posn等结构成员,所以这里未对这些结构成员进行讨论。
结构成员grouping指向类似"\3"的字符串,\3是转义序列,值为3。如果输出字符,将输出编码值为3的字符;如果输出数值,将输出3。这里使用printf("grouping: %d\n", lc->grouping[0]);语句将会输出lc->grouping指向字符串中第一个字符的编码值。结构成员mon_grouping与结构成员grouping情况相似。
相关内容:
struct lconv | 表示数值格式的类型。 |
setlocale | 改变或者查询语言环境的函数。 |