C 库 - <locale.h>


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

库宏

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

先生。 宏及描述
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 中定义的函数 -

先生。 功能说明
1 char *setlocale(int 类别, const char *locale)

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

2 结构 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

以下是每个字段的描述 -

先生。 字段和描述
1

小数点

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

2

千_sep

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

3

分组

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

4

int_curr_symbol

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

5

货币符号

用于货币的当地符号。

6

mon_decimal_point

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

7

mon_thousands_sep

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

8

mon_分组

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

9

正号

用于表示正货币值的字符。

10

负号

用于负货币值的字符。

11

int_frac_digits

国际货币价值中小数点后显示的位数。

12

分形数字

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

13

p_cs_在前

如果等于 1,则currency_symbol 出现在正货币值之前。如果等于 0,则currency_symbol 出现在正货币值之后。

14

p_sep_by_space

如果等于 1,则currency_symbol 与正货币值之间用空格分隔。如果等于 0,则currency_symbol 和正货币值之间没有空格。

15

n_cs_在前

如果等于 1,则currency_symbol 位于负货币值之前。如果等于 0,则currency_symbol 后面是负货币值。

16

n_sep_by_space

如果等于 1,则currency_symbol 与负货币值之间用空格分隔。如果等于 0,则currency_symbol 和负货币值之间没有空格。

17 号

p_sign_posn

表示正货币值中 Positive_sign 的位置。

18

n_符号_位置

表示负货币值中的 negative_sign 的位置。

以下值用于p_sign_posnn_sign_posn -

价值 描述
0 括号封装了值和货币符号。
1 符号位于值和货币符号之前。
2 符号位于值和货币符号之后。
3 符号紧接在值和货币符号之前。
4 符号紧随值和货币符号之后。