- C 标准库
- C 库 - 主页
- C 库 - <assert.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <float.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdarg.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <time.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用的资源
- C 库 - 讨论
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_posn和n_sign_posn -
价值 | 描述 |
---|---|
0 | 括号封装了值和货币符号。 |
1 | 符号位于值和货币符号之前。 |
2 | 符号位于值和货币符号之后。 |
3 | 符号紧接在值和货币符号之前。 |
4 | 符号紧随值和货币符号之后。 |