_create_locale
Cria um objeto de localidade.
_locale_t _create_locale(
int category,
const char *locale
);
Parâmetros
category
Categoria.locale
Nome de localidade.
Valor de retorno
Se uma categoria e localidade válida forem fornecidos, retornará sistema autônomo configurações de localidade especificada sistema autônomo um _locale_t objeto. As configurações de localidade corrente do programa não são alteradas.
Comentários
The _create_locale função permite que você crie um objeto que representa a determinadas configurações específicas da região, para uso em versões específicas de localidade de várias funções de CRT (funciona com o _l sufixo). O comportamento é semelhante a setlocale, exceto que em vez de aplicar as configurações de localidade especificada para o ambiente corrente, as configurações são salvas em um _locale_t estrutura que é retornada. The _locale_t estrutura deve ser liberada usando _free_locale Quando ele não é mais necessária.
The category argumento especifica as partes do comportamento específicos da localidade que são afetadas. sistema autônomo sinalizadores usados para category e são partes do programa que eles afetem conforme mostrado na tabela a seguir.
LC_ALL
Todas sistema autônomo categorias, sistema autônomo mostrado a seguir.LC_COLLATE
The strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicoll, e wcsxfrm funções.LC_CTYPE
As funções de manipulação de caractere (exceto isdigit, isxdigit, mbstowcs, e mbtowcque não são afetadas).LC_MONETARY
Informações de formatação Monetary retornadas pelo localeconv função.LC_NUMERIC
Caractere de ponto decimal para sistema autônomo rotinas de saída formatada (por exemplo, printf), sistema autônomo rotinas de conversão de dados e para a formatação não monetários informações retornadas pela localeconv. Juntamente com o caractere de ponto decimal, LC_NUMERIC separador de milhares de conjuntos e a seqüência de caracteres de controle de agrupamento retornada pelo localeconv.LC_TIME
The strftime e wcsftime funções.
Esta função valida o category e locale parâmetros. Se o parâmetro de categoria não for um dos valores listados na tabela anterior ou locale é NULL, a função retornará NULL.
The locale argumento é um ponteiro para uma seqüência de caracteres que especifica o nome da localidade. If locale aponta para uma seqüência vazia, a localidade é o ambiente nativo definidos para implementação. Um valor de C Especifica o ambiente de conformidade ANSI mínimo para conversão de C. The C localidade pressupõe que todos os char os tipos de dados são de 1 byte e que seu valor é sempre menor que 256. The locale argumento possui o seguinte formato:
locale :: "lang[_country_region[.code_page]]"
| ".code_page"
| ""
| NULL
O conjunto de idiomas disponível, códigos de Country/região e páginas de código inclui todos os suportados pelo API NLS do Win32.O conjunto de códigos de linguagem e Country/região têm suportado _create_locale está listado na linguagem e Country strings.Para obter mais informações sobre as configurações de localidade, consulte setlocale, _wsetlocale.
O nome anterior dessa função, __create_locale (com sublinhados entrelinhamento dois), foi substituída.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_create_locale |
<localidade.h> |
Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// crt_create_locale.c
// Sets the current locale to "Germany" 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 locale
locale = _create_locale(LC_ALL, "German");
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 German locale, _strftime_l returns '%s'\n",
str);
// 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);
}
Saída de exemplo
In German locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'
Equivalente do NET Framework
Classe sistema::globalização::CultureInfo
Consulte também
Referência
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l
STRFTIME, wcsftime, _strftime_l, _wcsftime_l