LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME
|
Definido en el encabezado
<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 */
|
||
Cada una de las constantes macro anteriores se expande a expresiones constantes enteras con valores distintos que son adecuados para usar como primer argumento de std::setlocale .
| Constante | Explicación |
LC_ALL
|
selecciona la configuración regional completa de C |
LC_COLLATE
|
selecciona la categoría de ordenación de la configuración regional de C |
LC_CTYPE
|
selecciona la categoría de clasificación de caracteres de la configuración regional de C |
LC_MONETARY
|
selecciona la categoría de formato monetario de la configuración regional de C |
LC_NUMERIC
|
selecciona la categoría de formato numérico de la configuración regional de C |
LC_TIME
|
selecciona la categoría de formato de tiempo de la configuración regional de C |
Constantes de macro adicionales, con nombres que comienzan con
LC_
seguido de al menos una letra mayúscula, pueden estar definidas en
<clocale>
. Por ejemplo, la especificación POSIX requiere
LC_MESSAGES
(que controla
std::perror
y
std::strerror
), ISO/IEC 30112:2014 (
borrador 2014
) adicionalmente define
LC_IDENTIFICATION
,
LC_XLITERATE
,
LC_NAME
,
LC_ADDRESS
,
LC_TELEPHONE
,
LC_PAPER
,
LC_MEASUREMENT
, y
LC_KEYBOARD
, los cuales son soportados por la biblioteca GNU C (excepto por
LC_XLITERATE
).
Ejemplo
#include <clocale> #include <cstdio> #include <ctime> #include <cwchar> int main() { // la configuración regional C será el inglés habilitado para UTF-8: std::setlocale(LC_ALL, "en_US.UTF-8"); // el punto decimal será alemán: std::setlocale(LC_NUMERIC, "de_DE.UTF-8"); // el formato de fecha/hora será japonés: 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); }
Salida:
Number: 3,14 Date: 日曜日 2022年11月06日 17時55分10秒
Véase también
|
obtiene y establece la configuración regional actual de C
(función) |
|
|
conjunto de facetas polimórficas que encapsulan diferencias culturales
(clase) |
|
|
Documentación de C
para
categorías de configuración regional
|
|