本地化:locale.h

作者:追风剑情 发布于:2020-6-19 10:40 分类:C

本地化是一组设置,用于控制一些特定的设置项,如表示小数点的符号。本地值储存在struct lconv类型的结构中,定义在locale.h头文件中。可以用一个字符串来指定本地化,该字符串指定了一组结构成员的特殊值。默认的本地化由字符串“C”指定。

本地化函数
原型 描述
char * setlocale(int category, const char * locale) 该函数把某些值设置为本地和locale指定的值。category的值决定要设置哪些本地值。如果成功设置本地化,该函数将返回一个在新本地化中与指定类别相关联的指针;如果不能完成本地化请求,则返回空指针
struct lconv * localeconv(void) 返回一个指向struct lconv类型结构的指针,该结构中储存着当前的本地值
category宏
NULL
本地化设置不变,返回指向当前本地化的指针
LC_ALL
改变所有的本地值
LC_COLLATE
改变strcoll()和strxfrm()所用的排列顺序的本地值
LC_CTYPE
改变字符处理函数和多字节函数的本地值
LC_MONETARY
改变货币格式信息的本地值
LC_NUMERIC 改变十进制小数点符号和格式化I/O使用的非货币格式本地值
LC_TIME 改变strftime()所用的时间格式本地值
struct lcconv所需的成员
char *decimal_point 非货币值的小数点字符
char *thousands_sep
非货币值中小数点前面的千位分隔符
char *grouping
一个字符串,表示非货币量中每组数字的大小
char *int_curr_symbol
国际货币符号
char *currency_symbol
本地货币符号
char *mon_decimal_point
货币值的小数点符号
char *mon_thousands_sep
货币值的千位分隔符
char *mon_grouping
一个字符串,表示货币量中每组数字的大小
char *positive_sign 指明非负格式化货币值的字符串
char *negative_sign
指明负格式化货币值的字符串
char int_frac_digits
国际格式化货币值中,小数点后面的数字个数
char frac_digits
本地格式化货币值中,小数点后面的数字个数
char p_cs_precedes 如果该值为1,则currency_symbol在非负格式化货币值的前面;
如果该值为0,则currency_symbol在非负格式化货币值的后面
char p_sep_by_space 如果该值为1,则用空格把currency_symbol和非负格式化货币值隔开;
如果该值为0,则不用空格分隔currency_symbol和非负格式化货币值
char n_cs_precedes 如果该值为1,则currency_symbol在负格式化货币值的前面;
如果该值为0,则currency_symbol在负格式化货币值的后面
char n_sep_by_space 如果该值为1,则用空格把currency_symbol和负格式化货币值隔开;
如果该值为0,则不用空格分隔currency_symbol和负格式化货币值;
char p_sign_posn 其值表示positive_sign字符串的位置:
0 表示用圆括号把数值和货币符号括起来
1 表示字符串在数值和货币符号前面
2 表示字符串在数值和货币符号后面
3 表示直接把字符串放在货币前面
4 表示字符串紧跟在货币符号后面
char n_sign_posn 其值表示negative_sign字符串的位置,含义与p_sign_posn相同
char int_p_cs_precedes 如果该值为1,则int_currency_symbol在非负格式化货币值的前面;
如果该值为0,则int_currency_symbol在非负格式化货币值的后面
char int_p_sep_by_space
如果该值为1,则用空格把int_currency_symbol和非负格式化货币值隔开;
如果该值为0,则不用空格分隔int_currency_symbol和非负格式化货币值
char int_n_cs_precedes
如果该值为1,则int_currency_symbol在负格式化货币值的前面;
如果该值为0,则int_currency_symbol在负格式化货币值的后面
char int_n_sep_by_space
如果该值为1,则用空格把int_currency_symbol和负格式化货币值隔开;
如果该值为0,则不用空格分隔int_currency_symbol和负格式化货币值
char int_p_sign_posn 其值表示positive_sign相对于非负国际格式化货币值的位置
char int_n_sign_posn 其值表示negative_sign相对于负国际格式化货币值的位置

标签: C语言

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号