C库 - locale.h

locale.h 标头定义了特定于位置的设置,例如日期格式和货币符号.您将找到几个定义的宏以及一个重要结构 struct lconv 和下面列出的两个重要函数.

库宏

以下是标题中定义的宏,这些宏将在下面列出的两个函数中使用 :

Sr.No.Macro&描述
1

LC_ALL

设置所有内容.

2

LC_COLLATE

影响strcoll和strxfrm函数.

3

LC_CTYPE

影响所有字符函数.

4

LC_MONETARY

影响localeconv函数提供的货币信息.

5

LC_NUMERIC

影响小数点格式和localeconv函数提供的信息.

6

LC_TIME

影响strftime功能.

库函数

以下是标题locale.h中定义的函数 :

Sr.No.功能&描述
1char * setlocale(int category,const char * locale)

设置或读取位置相关信息.

2struct lconv * localeconv(void)

设置或读取位置相关信息.

库结构

typedef struct {
   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;
   char p_sep_by_space;
   char n_cs_precedes;
   char n_sep_by_space;
   char p_sign_posn;
   char n_sign_posn;
} lconv

以下是每个字段的描述 :

Sr.No.Field&描述
1

decimal_point

用于非货币值的小数点字符.

2

thousands_sep

用于非货币值的千位分隔符.

3

grouping

表示非货币数量的每组数字的大小.每个字符代表一个整数值,指定当前组中的位数.值为0表示先前的值将用于其余组.

4

int_curr_symbol

这是一个使用的国际货币符号的字符串.前三个字符是ISO 4217:1987指定的字符,第四个字符是将货币符号与货币数量分开的字符.

5

currency_symbol

用于货币的本地符号.

6

mon_decimal_point

用于货币值的小数点字符.

7

mon_thousands_sep

用于货币价值的千位分组字符.

8

mon_grouping

一个字符串,其元素定义货币值中数字分组的大小.每个字符代表一个整数值,用于指定当前组中的位数.值为0表示先前的值将用于其余组.

9

positive_sign

使用的字符对于正货币价值.

10

negative_sign

用于负货币值的字符.

11

int_frac_digits

国际货币值小数点后显示的位数.

12

frac_digits

货币值小数点后显示的位数.

13

p_cs_precedes

如果等于到1,然后currency_symbol出现在正货币值之前.如果等于0,那么currency_symbol将出现在正货币值之后.

14

p_sep_by_space

如果等于1,则为currency_symbol由正货币价值的空格隔开.如果等于0,则currency_symbol和正货币值之间没有空格.

15

n_cs_precedes

如果等于1,则currency_symbol先于负货币值.如果等于0,则currency_symbol成功为负货币值.

16

n_sep_by_space

如果等于1,则currency_symbol为由负货币值的空格隔开.如果等于0,则currency_symbol和负货币值之间没有空格.

17

p_sign_posn

表示的位置正货币值为正值.

18

n_sign_posn

表示negative_sign在负货币值中的位置.

以下值用于 p_sign_posn n_sign_posn :

Value描述
0圆括号封装了值和currency_symbol.
1该符号位于值和currency_symbol之前.
2该符号接替值和currency_symbol.
3该符号紧跟在值和currency_symbol之前.
4该符号会立即成为值和currency_symbol.