English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C 语言基础教程

C 语言流程控制

Funciones en C

Arreglos en C

Punteros en C

Cadenas en C

C 语言结构体

C 语言文件

C 其他

C 语言参考手册

Biblioteca estándar <locale.h> en C

locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号。接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数。

库宏

下面列出了头文件 locale.h 中定义的宏,这些宏将在下列的两个函数中使用:

Número de orden宏 & 描述
1LC_ALL
设置下面的所有选项。
2LC_COLLATE
影响 strcoll 和 strxfrm 函数。
3LC_CTYPE
影响所有字符函数。
4LC_MONETARY
影响 localeconv 函数提供的货币信息。
5LC_NUMERIC
影响 localeconv 函数提供的小数点格式化和信息。
6LC_TIME
影响 strftime 函数。

库函数

下面列出了头文件 locale.h 中定义的函数:

Número de orden函数 & 描述
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

A continuación, se describe cada campo:

Número de ordenCampo & Descripción
1decimal_point
El carácter punto decimal utilizado para valores no monetarios.
2thousands_sep
El separador de miles utilizado para valores no monetarios.
3grouping
Una cadena que representa el tamaño de cada grupo de dígitos en valores no monetarios. Cada carácter representa un valor entero, cada entero especifica el número de dígitos del grupo actual. Un valor de 0 significa que el valor anterior se aplicará al resto de los grupos.
4int_curr_symbol
La cadena utilizada para el símbolo monetario internacional. Los tres primeros caracteres son especificados por ISO 4217:1987 Especificado, el cuarto carácter se utiliza para separar el símbolo monetario y la cantidad monetaria.
5currency_symbol
El símbolo local utilizado para la moneda.
6mon_decimal_point
El carácter punto decimal utilizado para el valor monetario.
7mon_thousands_sep
El separador de miles utilizado para el valor monetario.
8mon_grouping
Una cadena que representa el tamaño de cada grupo de dígitos en el valor monetario. Cada carácter representa un valor entero, cada entero especifica el número de dígitos del grupo actual. Un valor de 0 significa que el valor anterior se aplicará al resto de los grupos.
9positive_sign
El carácter utilizado para el valor monetario positivo.
10negative_sign
El carácter utilizado para el valor monetario negativo.
11int_frac_digits
El número de dígitos que se deben mostrar después del punto decimal en el valor monetario internacional.
12frac_digits
El número de dígitos que se deben mostrar después del punto decimal en el valor monetario.
13p_cs_precedes
Si es igual a 1entonces currency_symbol aparece antes del valor monetario positivo. Si es igual a 0, currency_symbol aparece después del valor monetario positivo.
14p_sep_by_space
Si es igual a 1entonces currency_symbol y el valor monetario positivo se separan por espacio. Si es igual a 0, no se utiliza espacio entre currency_symbol y el valor monetario positivo.
15n_cs_precedes
Si es igual a 1entonces currency_symbol aparece antes del valor monetario negativo. Si es igual a 0, currency_symbol aparece después del valor monetario negativo.
16n_sep_by_space
Si es igual a 1Si es igual a, entonces currency_symbol y el valor monetario negativo se separan por espacio. Si es igual a 0, no se utiliza espacio entre currency_symbol y el valor monetario negativo.
17p_sign_posn
representar la posición del signo positivo en el valor monetario positivo.
18n_sign_posn
representar la posición del signo negativo en el valor monetario negativo.

Los valores siguientes se utilizan para p_sign_posn y n_sign_posn:

ValorDescripción
0Los corchetes de encapsulación y currency_symbol.
1El símbolo que se coloca justo antes del valor y del currency_symbol.
2El símbolo que se coloca justo después del valor y del currency_symbol.
3El símbolo que se coloca justo antes del valor y del currency_symbol.
4El símbolo que se coloca justo después del valor y del currency_symbol.