#include <locale.h>
Le fichier d'en-tête <locale.h> déclare les types de données, les fonctions et les macros utilisés pour ces tâches.
Les fonctions qu'il déclare sont setlocale(3) pour définir ces paramètres et localeconv(3) pour obtenir des informations sur la mise en forme des nombres.
Il existe différentes catégories de paramètres régionaux qui peuvent être utiles à un programme. Elles sont déclarées en tant que macros. En les utilisant comme premier argument de la fonction setlocale(3), il devient possible de fixer l'une de ces informations :
Si le second argument de la fonction setlocale(3) est une chaîne de caractères vide, , ceci correspond aux paramètres régionaux par défaut, déterminés par les étapes suivantes :
Les valeurs concernant la mise en forme numérique sont disponibles dans une structure struct lconv, renvoyée par la fonction localeconv(3), déclarée ainsi :
struct lconv { /* -------- Informations numériques (non-monétaires) ------- */ char *decimal_point; /* Séparateur décimal */ char *thousands_sep; /* Séparateur des milliers */ char *grouping; /* Cette chaîne de caractères contient une liste de nombres, séparés par des point-virgules. Chaque élément indique le nombre de chiffres utilisé pour ce groupe. Les éléments d'indice les plus élevés correspondent aux groupes les plus à gauche. Un élément de valeur CHAR_MAX signifie l'arrêt du groupement. Un élément de valeur 0 signifie que l'élément précédent est répété pour tous les groupes plus à gauche. Ndt : c'est pas clair ? Ben, la V.O. non plus ! ;-) */ /* ----------------- Informations monétaires ---------------- */ char *int_curr_symbol; /* Les trois premiers caractères correspondent au symbole monétaire d'après ISO 4217. Le quatrième symbole est le séparateur, le cinquième est « \0 ». */ char *currency_symbol; /* Symbole monétaire local. */ char *mon_decimal_point; /* Caractère séparateur décimal */ char *mon_thousands_sep; /* Comme thousands_sep (ci-dessus) */ char *mon_grouping; /* Comme grouping (ci-dessus) */ char *positive_sign; /* Signe pour valeurs positives */ char *negative_sign; /* Signe pour valeurs négatives */ char int_frac_digits; /* International fractional digits. */ char frac_digits; /* Local fractional digits. */ char p_cs_precedes; /* 1 si le symbole monétaire précède les valeurs positives, 0 s'il les suit */ char p_sep_by_space; /* 1 si un espace sépare le symbole monétaire d'une valeur + */ char n_cs_precedes; /* 1 si le symbole monétaire précède les valeurs négatives, 0 s'il les suit */ char n_sep_by_space; /* 1 si un espace sépare le symbole monétaire d'une valeur - */ /* Positions des signes plus et moins : 0 Parenthèses autour de la valeur et du symbole monétaire. 1 Le signe précède la valeur et le symbole monétaire. 2 Le signe suit la valeur et le symbole monétaire. 3 Le signe précède immédiatement le symbole monétaire. 4 Le signe suit immédiatement le symbole monétaire. */ char p_sign_posn; char n_sign_posn; };
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 20 octobre 1996 et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 7 locale ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008