_create_locale, _wcreate_locale
Crea un objeto de la configuración regional.
_locale_t _create_locale(
int category,
const char *locale
);
_locale_t _wcreate_locale(
int category,
const wchar_t *locale
);
Parámetros
category
Categoría.locale
Especificador de la configuración regional.
Valor devuelto
Si se proporciona locale válido y category, devuelve las configuraciones regionales especificadas como objeto de _locale_t.La configuración regional actual del programa no se cambian.
Comentarios
La función de _create_locale permite crear un objeto que representa ciertos valores específicos de la región, para el uso en versiones configuración regional- específicas de muchas funciones CRT (funciones con el sufijo de _l ).El comportamiento es similar a setlocale, salvo que en lugar de aplicar las configuraciones regionales especificadas al entorno actual, se guardan en una estructura de _locale_t se devuelve que.La estructura de _locale_t se debe liberar mediante _free_locale cuando ya no se necesita.
_wcreate_locale es una versión con caracteres anchos de _create_locale; el argumento de locale a _wcreate_locale es una cadena de caracteres._wcreate_locale y _create_locale se comportan exactamente igual de otra manera.
El argumento de category especifica las partes del comportamiento configuración regional- concreto afectadas.Los marcadores utilizados para category y las partes del programa que afectan se tal y como se muestra en la tabla siguiente.
LC_ALL
Todas las categorías, como se indica a continuación.LC_COLLATE
strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicoll, y funciones de wcsxfrm.LC_CTYPE
Las funciones carácter- que administran (excepto isdigit, isxdigit, mbstowcs, y mbtowc, que no son afectado).LC_MONETARY
Información de Monetario- formato devuelta por la función de localeconv.LC_NUMERIC
Carácter de separador decimal para las rutinas con formato de salida (como printf), para las rutinas de conversión de datos, e información no monetaria de formato devuelta por localeconv.Además del carácter del separador decimal, LC_NUMERIC establece el separador de miles y la cadena del control de agrupación devueltos por localeconv.LC_TIME
Las funciones de strftime y de wcsftime.
Esta función valida los parámetros de category y de locale.Si el parámetro category no es uno de los valores especificados en la tabla anterior o si locale es NULL, la función devuelve NULL.
El argumento de locale es un puntero a una cadena que especifica la configuración regional.Para obtener información sobre el formato del argumento de locale, vea Nombres de configuración regional, idiomas y cadenas de país/región.
El argumento de locale puede tomar un nombre de la configuración regional, una cadena de idioma, una cadena de idioma y un país o código de región, una página de códigos, o una cadena de idioma, un país o un código de región, y una página de códigos.El conjunto de nombres disponibles, de lenguajes, de país o códigos de región, y páginas de códigos de la configuración regional incluye todo el los admitidos por Windows NLS API excepto las páginas de códigos que requieren más de dos bytes por carácter, como UTF-7 y UTF-8.Si proporciona una página de códigos como UTF-7 o UTF-8, _create_locale producirá un error, devuelve NULL.Describe el conjunto de nombres de la configuración regional admitidos por _create_locale en Nombres de configuración regional, idiomas y cadenas de país/región.Muestran el conjunto de cadenas de idioma de país o región admitidas por _create_locale en Cadenas de idioma y Cadenas de país o región.
Para obtener más información sobre las configuraciones regionales, vea setlocale, _wsetlocale.
El nombre anterior de esta función, __create_locale (con dos subrayado principales), está desusado.
Requisitos
Rutina |
Encabezado necesario |
---|---|
_create_locale |
<locale.h> |
_wcreate_locale |
<locale.h> o <wchar.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad.
Ejemplo
// crt_create_locale.c
// Sets the current locale to "de-CH" using the
// setlocale function and demonstrates its effect on the strftime
// function.
#include <stdio.h>
#include <locale.h>
#include <time.h>
int main(void)
{
time_t ltime;
struct tm thetime;
unsigned char str[100];
_locale_t locale;
// Create a locale object representing the German (Switzerland) locale
locale = _create_locale(LC_ALL, "de-CH");
time (<ime);
_gmtime64_s(&thetime, <ime);
// %#x is the long date representation, appropriate to
// the current locale
//
if (!_strftime_l((char *)str, 100, "%#x",
(const struct tm *)&thetime, locale))
printf("_strftime_l failed!\n");
else
printf("In de-CH locale, _strftime_l returns '%s'\n",
str);
_free_locale(locale);
// Create a locale object representing the default C locale
locale = _create_locale(LC_ALL, "C");
time (<ime);
_gmtime64_s(&thetime, <ime);
if (!_strftime_l((char *)str, 100, "%#x",
(const struct tm *)&thetime, locale))
printf("_strftime_l failed!\n");
else
printf("In 'C' locale, _strftime_l returns '%s'\n",
str);
_free_locale(locale);
}
Resultados del ejemplo
In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'
Equivalente en .NET Framework
Clase de System::Globalization::CultureInfo
Vea también
Referencia
Nombres de configuración regional, idiomas y cadenas de país/región
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l
strftime, wcsftime, _strftime_l, _wcsftime_l