#include <locale.h> // <clocale> en C++
Ces macros sont passées en premier paramètre à setlocale. Elles permettent de changer toute la
localisation, ou seulement une partie de ses règles.
| Macro | Depuis | Description |
|---|---|---|
LC_ALL |
C89 | Toutes les catégories de localisation. |
LC_COLLATE |
C89 | Règles de collation, utilisées notamment par strcoll et strxfrm. |
LC_CTYPE |
C89 | Classification et conversions de caractères. |
LC_MONETARY |
C89 | Informations de formatage monétaire consultables via localeconv. |
LC_NUMERIC |
C89 | Formatage numérique, notamment le séparateur décimal. |
LC_TIME |
C89 | Formatage des dates et des heures. |
LC_MESSAGES |
POSIX | Langue des messages de diagnostic et de certains messages système. |
POSIX ajoute des masques utilisables avec newlocale. On les combine avec l'opérateur binaire
| pour construire ou modifier plusieurs catégories en une seule fois.
| Macro | Depuis | Description |
|---|---|---|
LC_ALL_MASK |
POSIX | Masque regroupant toutes les catégories supportées. |
LC_COLLATE_MASK |
POSIX | Masque associé à LC_COLLATE. |
LC_CTYPE_MASK |
POSIX | Masque associé à LC_CTYPE. |
LC_MESSAGES_MASK |
POSIX | Masque associé à LC_MESSAGES. |
LC_MONETARY_MASK |
POSIX | Masque associé à LC_MONETARY. |
LC_NUMERIC_MASK |
POSIX | Masque associé à LC_NUMERIC. |
LC_TIME_MASK |
POSIX | Masque associé à LC_TIME. |
LC_GLOBAL_LOCALE |
POSIX | Objet spécial désignant la localisation globale du processus. |
L'exemple suivant construit une localisation POSIX ne modifiant que les règles numériques.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#define _POSIX_C_SOURCE 200809L #include <locale.h> #include <stdio.h> #include <stdlib.h> int main() { locale_t locale = newlocale( LC_NUMERIC_MASK, "C", (locale_t) 0 ); if ( locale == (locale_t) 0 ) { perror( "newlocale" ); return EXIT_FAILURE; } puts( "Localisation creee." ); freelocale( locale ); return EXIT_SUCCESS; } |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :