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

C 语言基础教程

C 语言流程控制

Fonctions en C

Tableaux en C

Pointeurs en C

Chaînes de caractères en C

C 语言结构体

C 语言文件

C 其他

C 语言参考手册

Bibliothèque standard <locale.h> en C

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

库宏

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

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

库函数

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

Numéro函数 & 描述
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;
}

Voici la description de chaque champ :

NuméroChamp & Description
1decimal_point
Le caractère de point décimal pour la valeur non monétaire.
2thousands_sep
Le séparateur de milliers pour la valeur non monétaire.
3grouping
Une chaîne de caractères représentant la taille de chaque groupe de nombres dans la valeur non monétaire. Chaque caractère représente une valeur entière, chaque entière spécifiant le nombre de chiffres du groupe courant. Une valeur de 0 signifie que la valeur précédente s'appliquera aux groupements restants.
4int_curr_symbol
La chaîne de caractères utilisée pour le symbole monétaire international. Les trois premiers caractères sont déterminés par ISO 4217:1987 Spécifié, le quatrième caractère est utilisé pour séparer le symbole de devise et la quantité monétaire.
5currency_symbol
Le symbole local utilisé pour la devise.
6mon_decimal_point
Le caractère de point décimal pour la valeur monétaire.
7mon_thousands_sep
Le séparateur de milliers pour la valeur monétaire.
8mon_grouping
Une chaîne de caractères représentant la taille de chaque groupe de nombres dans la valeur monétaire. Chaque caractère représente une valeur entière, chaque entière spécifiant le nombre de chiffres du groupe courant. Une valeur de 0 signifie que la valeur précédente s'appliquera aux groupements restants.
9positive_sign
Le caractère utilisé pour la valeur monétaire positive.
10negative_sign
Le caractère utilisé pour la valeur monétaire négative.
11int_frac_digits
Le nombre de décimales à afficher après le point dans la valeur monétaire internationale.
12frac_digits
Le nombre de décimales à afficher après le point dans la valeur monétaire.
13p_cs_precedes
Si égal à 1le symbole de devise apparaît avant la valeur monétaire positive. Si égal à 0, le symbole de devise apparaît après la valeur monétaire positive.
14p_sep_by_space
Si égal à 1le symbole de devise et la valeur monétaire positive sont séparés par un espace. Si égal à 0, le symbole de devise et la valeur monétaire positive ne sont pas séparés par un espace.
15n_cs_precedes
Si égal à 1le symbole de devise apparaît avant la valeur monétaire négative. Si égal à 0, le symbole de devise apparaît après la valeur monétaire négative.
16n_sep_by_space
Si égal à 1Si égal à, alors le symbole de devise et la valeur monétaire négative sont séparés par un espace. Si égal à 0, le symbole de devise et la valeur monétaire négative ne sont pas séparés par un espace.
17p_sign_posn
représenter la position du signe positif dans la valeur monétaire positive.
18n_sign_posn
représenter la position du signe négatif dans la valeur monétaire négative.

Les valeurs suivantes sont utilisées pour p_sign_posn et n_sign_posn:

ValeurDescription
0Encadrer la valeur et le symbole de devise entre des parenthèses.
1Le symbole placé avant la valeur et le currency_symbol.
2Le symbole placé après la valeur et le currency_symbol.
3Le symbole placé immédiatement avant la valeur et le currency_symbol.
4Le symbole placé immédiatement après la valeur et le currency_symbol.