Compartilhar via


_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 (&ltime);
       _gmtime64_s(&thetime, &ltime);

       // %#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 (&ltime);
       _gmtime64_s(&thetime, &ltime);

       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

_free_locale

_configthreadlocale

setLocale

Localidade

localeconv

_mbclen mblen, _mblen_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

_setmbcp

Funções strcoll

STRFTIME, wcsftime, _strftime_l, _wcsftime_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

wcstombs, _wcstombs_l

wctomb, _wctomb_l