Configuración regional
Locale hace referencia a los valores de país o región y de idioma que se pueden usar para personalizar un programa. Entre las categorías dependientes de la configuración regional se encuentran los formatos de presentación de fechas y de valores de moneda. Para obtener más información, vea Categorías de configuración regional.
Use la función setlocale para cambiar o consultar parte de la información, o toda ella, de configuración regional del programa o subproceso actual, mientras usa funciona sin el sufijo _l. Las funciones con el sufijo _l usan el parámetro de configuración regional que se pasa para la información de configuración regional solo durante la ejecución de esa función concreta. Para crear una configuración regional y usarla con una función que tenga el sufijo _l, use _create_locale. Para liberar esta configuración regional, use _free_locale. Para obtener la configuración regional actual, use _get_current_locale.
Use _configthreadlocale para determinar si cada subproceso tiene su propia configuración regional o todos los subprocesos de un programa comparten la misma configuración regional. Para obtener más información, vea Configuraciones regionales y páginas de códigos.
Existen versiones más seguras de las funciones de la tabla siguiente, que se indican mediante el sufijo _s (“segura”). Para obtener más información, vea Características de seguridad de CRT.
Rutinas dependientes de la configuración regional
Rutina |
Utilice |
dependencia de configuración de categorías setlocale |
---|---|---|
Convierte el carácter en valor de punto flotante |
LC_NUMERIC |
|
Convierte el carácter en valor entero |
LC_NUMERIC |
|
Convierte el carácter en valor entero de 64 bits |
LC_NUMERIC |
|
Convierte el carácter en valor long |
LC_NUMERIC |
|
Convierte el carácter en valor double-long |
LC_NUMERIC |
|
Comprueba un entero dado para determinar si cumple una condición concreta |
LC_CTYPE |
|
Comprueba si se trata de un byte inicial |
LC_CTYPE |
|
Lee los valores adecuados para dar formato a cantidades numéricas |
LC_MONETARY, LC_NUMERIC |
|
Longitud máxima en bytes de cualquier carácter multibyte en la configuración regional actual (macro definida en STDLIB.H) |
LC_CTYPE |
|
Copia un carácter multibyte |
LC_CTYPE |
|
Valida y devuelve el número de bytes del carácter multibyte |
LC_CTYPE |
|
En el caso de cadenas de caracteres multibyte: valida cada carácter de la cadena; devuelve la longitud de la cadena |
LC_CTYPE |
|
Convierte la secuencia de caracteres multibyte en la secuencia correspondiente de caracteres anchos |
LC_CTYPE |
|
Convierte el carácter multibyte en el carácter ancho correspondiente |
LC_CTYPE |
|
Funciones printf |
Escribe resultados con formato |
LC_NUMERIC (determina la salida de caracteres de base) |
Funciones scanf |
Lee la entrada con formato |
LC_NUMERIC (determina el reconocimiento de caracteres de base) |
Selecciona la configuración regional del programa |
No es aplicable |
|
strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l |
Compara los caracteres de dos cadenas |
LC_COLLATE |
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l |
Compara dos cadenas sin distinción entre mayúsculas y minúsculas |
LC_CTYPE |
_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l |
Compara los caracteres de dos cadenas sin distinción entre mayúsculas y minúsculas |
LC_COLLATE |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
Compara los primeros n caracteres de dos cadenas |
LC_COLLATE |
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l |
Compara los caracteres de dos cadenas sin distinción entre mayúsculas y minúsculas |
LC_CTYPE |
_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l |
Compara los primeros n caracteres de dos cadenas sin distinción entre mayúsculas y minúsculas |
LC_COLLATE |
Da formato al valor de fecha y hora de acuerdo con el argumento format proporcionado |
LC_TIME |
|
_strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l,_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l |
Convierte, en contexto, cada mayúscula de la cadena especificada en minúscula |
LC_CTYPE |
Convierte el valor de cadena en valor double |
LC_NUMERIC (determina el reconocimiento de caracteres de base) |
|
Convierte el valor de cadena en valor long |
LC_NUMERIC (determina el reconocimiento de caracteres de base) |
|
Convierte la cadena de caracteres en valor long sin signo |
LC_NUMERIC (determina el reconocimiento de caracteres de base) |
|
_strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr,_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l |
Convierte, en contexto, cada minúscula de la cadena especificada en mayúscula |
LC_CTYPE |
Transforma la cadena en formato intercalado según la configuración regional |
LC_COLLATE |
|
tolower, _tolower, towlower, _tolower_l, _towlower_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Convierte el carácter dado en el carácter en minúscula correspondiente |
LC_CTYPE |
toupper, _toupper, towupper, _toupper_l, _towupper_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Convierte el carácter dado en la letra mayúscula correspondiente |
LC_CTYPE |
Convierte la secuencia de caracteres anchos en la secuencia correspondiente de caracteres multibyte |
LC_CTYPE |
|
Convierte el carácter ancho en el carácter multibyte correspondiente |
LC_CTYPE |
Nota
En el caso de las rutinas multibyte, la página de códigos multibyte debe ser equivalente a la configuración regional establecida mediante setlocale._setmbcp, con el argumento _MB_CP_LOCALE, hace que la página de códigos multibyte sea igual que la página de códigos de setlocale.