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, consulte 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 funciones 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, consulte Características de seguridad en CRT.
Rutinas dependientes de la configuración regional
Routine | Usar | dependencia de configuración de categorías setlocale |
---|---|---|
atof , _atof_l , , _wtof , _wtof_l |
Convierte el carácter en valor de punto flotante | LC_NUMERIC |
atoi , _atoi_l , , _wtoi , _wtoi_l |
Convierte el carácter en valor entero | LC_NUMERIC |
_atoi64 , _atoi64_l , , _wtoi64 , _wtoi64_l |
Convierte el carácter en valor entero de 64 bits | LC_NUMERIC |
atol , _atol_l , , _wtol , _wtol_l |
Convierte el carácter en valor long | LC_NUMERIC |
_atodbl , _atodbl_l , _atoldbl , _atoldbl_l , , _atoflt , _atoflt_l |
Convierte el carácter en valor double-long | LC_NUMERIC |
is , isw rutinas |
Comprueba un entero dado para determinar si cumple una condición concreta | LC_CTYPE |
isleadbyte , _isleadbyte_l |
Comprueba si se trata de un byte inicial | LC_CTYPE |
localeconv |
Lee los valores adecuados para dar formato a cantidades numéricas | LC_MONETARY, LC_NUMERIC |
MB_CUR_MAX |
Longitud máxima en bytes de cualquier carácter multibyte en la configuración regional actual (macro definida en STDLIB.H ) |
LC_CTYPE |
_mbccpy , _mbccpy_l , ,_mbccpy_s ,_mbccpy_s_l |
Copia un carácter multibyte | LC_CTYPE |
_mbclen , , mblen , _mblen_l |
Valida y devuelve el número de bytes del carácter multibyte | LC_CTYPE |
strlen , wcslen , _mbslen , _mbslen_l , , _mbstrlen , _mbstrlen_l |
En el caso de cadenas de caracteres multibyte: valida cada carácter de la cadena; devuelve la longitud de la cadena | LC_CTYPE |
mbstowcs , _mbstowcs_l , ,mbstowcs_s ,_mbstowcs_s_l |
Convierte la secuencia de caracteres multibyte en la secuencia correspondiente de caracteres anchos | LC_CTYPE |
mbtowc , _mbtowc_l |
Convierte el carácter multibyte en el carácter ancho correspondiente | LC_CTYPE |
funcionesprintf |
Escribe resultados con formato | LC_NUMERIC (determina la salida de caracteres de base) |
funcionesscanf |
Lee la entrada con formato | LC_NUMERIC (determina el reconocimiento de caracteres de base) |
setlocale , _wsetlocale |
Selecciona la configuración regional del programa | No 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 |
strftime , wcsftime , , _strftime_l , _wcsftime_l |
Da formato al valor de fecha y hora de acuerdo con el argumento format proporcionado |
LC_TIME |
_strlwr , _wcslwr , _mbslwr , , _strlwr_l , _mbslwr_l _wcslwr_l ,_strlwr_s _mbslwr_s _strlwr_s_l _mbslwr_s_l , , _wcslwr_s _wcslwr_s_l |
Convierte, en contexto, cada mayúscula de la cadena especificada en minúscula | LC_CTYPE |
strtod , _strtod_l , , wcstod , _wcstod_l |
Convierte el valor de cadena en valor double |
LC_NUMERIC (determina el reconocimiento de caracteres de base) |
strtol , wcstol , , _strtol_l , _wcstol_l |
Convierte el valor de cadena en valor long |
LC_NUMERIC (determina el reconocimiento de caracteres de base) |
strtoul , _strtoul_l , , wcstoul , _wcstoul_l |
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 _wcsupr_l ,_strupr_s _mbsupr_s _strupr_s_l _mbsupr_s_l , , _wcsupr_s _wcsupr_s_l |
Convierte, en contexto, cada minúscula de la cadena especificada en mayúscula | LC_CTYPE |
strxfrm , wcsxfrm , , _strxfrm_l , _wcsxfrm_l |
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 |
wcstombs , _wcstombs_l , ,wcstombs_s ,_wcstombs_s_l |
Convierte la secuencia de caracteres anchos en la secuencia correspondiente de caracteres multibyte | LC_CTYPE |
wctomb , _wctomb_l , ,wctomb_s ,_wctomb_s_l |
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 de _MB_CP_LOCALE
, hace que la página de códigos multibyte sea igual que la página de códigos de setlocale
.
Consulte también
Internacionalización
Rutinas en tiempo de ejecución Universal C por categoría