Udostępnij za pośrednictwem


_create_locale, _wcreate_locale

Tworzy obiekt ustawień regionalnych.

_locale_t _create_locale(
   int category,
   const char *locale 
);
_locale_t _wcreate_locale(
   int category,
   const wchar_t *locale 
);

Parametry

  • category
    Kategoria.

  • locale
    Określenia ustawień regionalnych.

Wartość zwracana

Jeśli jest to prawidłowy locale i category są podane, zwraca ustawienia określone ustawienia regionalne jako _locale_t obiektu.Wybranych ustawień regionalnych programu nie ulegają zmianie.

Uwagi

_create_locale Funkcja pozwala utworzyć obiekt, który reprezentuje niektóre ustawienia określonego regionu, do użytku w wersjach specyficzne dla ustawień regionalnych wielu funkcji CRT (współpracy z _l sufiks).Zachowanie jest podobne do setlocale, z tym, że zamiast stosowania ustawień określone ustawienia regionalne do bieżącego środowiska, ustawienia są zapisywane w _locale_t strukturę, która jest zwracana._locale_t Struktury należy zostały zwolnione, za pomocą _free_locale kiedy jest już potrzebne.

_wcreate_localejest ona szerokich znaków do _create_locale; locale argument _wcreate_locale jest ciągiem szerokich znaków._wcreate_localei _create_locale zachowują się identycznie inaczej.

category Argument określa części zachowanie ustawień regionalnych, które ma wpływ.Flagi używane do category i części program wpływają one na to, jak pokazano w poniższej tabeli.

  • LC_ALL
    Wszystkie kategorie, wymienione poniżej.

  • LC_COLLATE
    The strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicoll, and wcsxfrm functions.

  • LC_CTYPE
    Funkcje obsługi znaków (z wyjątkiem isdigit, isxdigit, mbstowcs, i mbtowc, które są bez zmian).

  • LC_MONETARY
    Formatowanie walutowego informacje zwrócone przez localeconv funkcji.

  • LC_NUMERIC
    Dziesiętnego znaku dla procedur sformatowane dane wyjściowe (takich jak printf), dla procedur konwersji danych i dla niepieniężne informacje o formatowaniu, zwracane przez localeconv.Oprócz znaku dziesiętnego LC_NUMERIC separator tysięcy zestawów i grupowania kontrolować ciąg zwracany przez localeconv.

  • LC_TIME
    strftime i wcsftime funkcji.

Ta funkcja sprawdza poprawność category i locale parametry.Jeśli parametr kategorii nie jest jedną z wartości podane w powyższej tabeli lub locale jest NULL, funkcja zwraca NULL.

locale Argument jest wskaźnik na ciąg, który określa ustawienia regionalne.Aby uzyskać informacje dotyczące formatu locale argument, zobacz Nazwy lokalne, języki i ciągi kraj/region.

locale Argument może zająć nazwy ustawień regionalnych, ciąg znaków w języku, ciąg języka oraz kod kraju/regionu, stronę kodową lub ciąg znaków w języku, kod kraju/regionu, a strona kodowa.Zestaw nazw dostępnych ustawień regionalnych, języki, kody krajów/regionów i stron kodowych zawiera wszystkie wspieranych przez Windows API NLS, z wyjątkiem stron kodowych, które wymagają więcej niż dwa bajty na znak, takich jak UTF-7 i UTF-8.Jeżeli określona strona kodowa jak UTF-7 lub UTF-8, _create_locale zakończy się niepowodzeniem, zwracanie wartości NULL.Zestaw nazw ustawień regionalnych obsługiwanych przez _create_locale są opisane w Nazwy lokalne, języki i ciągi kraj/region.Zestaw ciągów języka i kraju/regionu, obsługiwane przez _create_locale są wymienione w Ciągi znaków języka i Ciągi kraju/regionu.

Aby uzyskać więcej informacji na temat ustawień regionalnych, zobacz setLocale, _wsetlocale.

Poprzednią nazwę tej funkcji, __create_locale (z dwoma wiodących podkreśleniami), została zdeprecjonowana.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_create_locale

<locale.h>

_wcreate_locale

<locale.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności.

Przykład

// 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 (&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 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 (&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);
}

Przykładowe dane wyjściowe

In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'

Odpowiednik w programie .NET Framework

Klasa System::Globalization::CultureInfo

Zobacz też

Informacje

Nazwy lokalne, języki i ciągi kraj/region

Ciągi znaków języka

Ciągi kraju/regionu

_free_locale

_configthreadlocale

setLocale

Ustawienia regionalne

localeconv

_mbclen, mblen, _mblen_l

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

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

_setmbcp

setLocale, _wsetlocale

Funkcje strcoll

strftime, wcsftime, _strftime_l, _wcsftime_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

wcstombs, _wcstombs_l

wctomb, _wctomb_l