LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME
|
Défini dans l'en-tête
<clocale>
|
||
|
#define LC_ALL /* implementation defined */
|
||
|
#define LC_COLLATE /* implementation defined */
|
||
|
#define LC_CTYPE /* implementation defined */
|
||
|
#define LC_MONETARY /* implementation defined */
|
||
|
#define LC_NUMERIC /* implementation defined */
|
||
|
#define LC_TIME /* implementation defined */
|
||
Chacune des constantes macro ci-dessus se développe en des expressions constantes entières avec des valeurs distinctes qui sont appropriées pour être utilisées comme premier argument de std::setlocale .
| Constante | Explication |
LC_ALL
|
sélectionne l'intégralité des paramètres régionaux C |
LC_COLLATE
|
sélectionne la catégorie de collation des paramètres régionaux C |
LC_CTYPE
|
sélectionne la catégorie de classification des caractères des paramètres régionaux C |
LC_MONETARY
|
sélectionne la catégorie de formatage monétaire des paramètres régionaux C |
LC_NUMERIC
|
sélectionne la catégorie de formatage numérique des paramètres régionaux C |
LC_TIME
|
sélectionne la catégorie de formatage temporel des paramètres régionaux C |
Des constantes de macro supplémentaires, dont les noms commencent par
LC_
suivi d'au moins une lettre majuscule, peuvent être définies dans
<clocale>
. Par exemple, la spécification POSIX requiert
LC_MESSAGES
(qui contrôle
std::perror
et
std::strerror
), ISO/IEC 30112:2014 (
ébauche 2014
) définit en outre
LC_IDENTIFICATION
,
LC_XLITERATE
,
LC_NAME
,
LC_ADDRESS
,
LC_TELEPHONE
,
LC_PAPER
,
LC_MEASUREMENT
, et
LC_KEYBOARD
, qui sont pris en charge par la bibliothèque GNU C (à l'exception de
LC_XLITERATE
).
Exemple
#include <clocale> #include <cstdio> #include <ctime> #include <cwchar> int main() { // le paramètre régional C sera l'anglais avec UTF-8 activé : std::setlocale(LC_ALL, "en_US.UTF-8"); // le séparateur décimal sera allemand : std::setlocale(LC_NUMERIC, "de_DE.UTF-8"); // le formatage de la date/heure sera japonais : std::setlocale(LC_TIME, "ja_JP.UTF-8"); wchar_t str[100]; std::time_t t = std::time(nullptr); std::wcsftime(str, 100, L"%A %c", std::localtime(&t)); std::wprintf(L"Number: %.2f\nDate: %Ls\n", 3.14, str); }
Sortie :
Number: 3,14 Date: 日曜日 2022年11月06日 17時55分10秒
Voir aussi
|
obtient et définit les paramètres régionaux C actuels
(fonction) |
|
|
ensemble de facettes polymorphes qui encapsulent les différences culturelles
(classe) |
|
|
Documentation C
pour
les catégories de paramètres régionaux
|
|