Freigeben über


_create_locale, _wcreate_locale

Erstellt ein Gebietsschemaobjekt.

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

Parameter

  • category
    Kategorie.

  • locale
    Gebietsschemaspezifizierer.

Rückgabewert

Wenn gültiges locale und category angegeben werden, gibt, die die angegebenen Gebietsschemaeinstellungen als _locale_t-Objekts.Die aktuellen Gebietsschemaeinstellungen des Programms werden nicht geändert.

Hinweise

Die _create_locale-Funktion ermöglicht es Ihnen, ein Objekt, das bestimmte Bereichbesondereeinstellungen darstellt, für die gebietsschemaspezifischen Versionen vieler CRT-Funktionen (Funktionen mit dem _l Suffix) zu erstellen.Das Verhalten ist zu setlocale vergleichbar, außer dass, anstatt die angegebenen Gebietsschemaeinstellungen zur aktuellen Umgebung anzuwenden gespeichert, werden die Einstellungen in einer _locale_t-Struktur, die zurückgegeben wird.Die _locale_t-Struktur sollte mit _free_locale freigegeben werden, wenn sie nicht mehr benötigt wird.

_wcreate_locale ist eine Breitzeichen-Version von _create_locale; locale das Argument an _wcreate_locale ist eine Zeichenfolge mit Breitzeichen._wcreate_locale und _create_locale verhalten sich andernfalls identisch.

Das category-Argument gibt die Teile des Verhaltens gebietsschemaspezifischen an, die beeinflusst werden.Die Flags verwendet für category und die Teile des Programms, das sie sind wie in der folgenden Tabelle gezeigt auswirken.

  • LC_ALL
    Alle Kategorien, wie unten aufgeführt.

  • LC_COLLATE
    strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicoll und wcsxfrm-Funktionen.

  • LC_CTYPE
    Die ZeichenBehandlungsfunktionen (außer isdigit, isxdigit, mbstowcs und mbtowc, die nicht betroffen sind).

  • LC_MONETARY
    Währungs-Formatierungsinformationen zurückgegeben durch die localeconv-Funktion.

  • LC_NUMERIC
    Dezimaltrennzeichenzeichen für die formatierten Ausgabeprogramme (z printf), für die Datenkonvertierungsroutinen und für die nicht-monetären Formatierungsinformationen durch localeconv zurückgegeben.Zusätzlich zum Dezimaltrennzeichenzeichen legt LC_NUMERIC das Tausendertrennzeichen und die Gruppierungs- Steuerzeichenfolge fest, die von localeconv zurückgegeben werden.

  • LC_TIME
    Die strftime und wcsftime-Funktionen.

Diese Funktion überprüft die category und locale-Parameter.Wenn der Kategorienparameter keiner der Werte ist, die in der vorherigen Tabelle angegeben werden, oder wenn localeNULL ist, gibt die Funktion NULL zurück.

Das locale-Argument ist ein Zeiger auf eine Zeichenfolge, die das Gebietsschema angibt.Informationen zum Format des locale-Arguments, finden Sie unter Zeichenfolgen in lokalen Namen, Sprach- und Länder-/Regionseinstellungen.

Das Argument kann einen locale Gebietsschemanamen annehmen, eine Sprachenzeichenfolge, eine Sprachenzeichenfolge und ein Land/Regions-Code, eine Codepage oder eine Sprachenzeichenfolge, ein Land/Regions-Code und eine Codepage.Der Satz verfügbarer Gebietsschemanamen, von Sprachen, von Land/Regions-Codes und von Codepages umfasst alle, die durch die Windows-NLSAPI außer Codepages unterstützt werden, die mehr als zwei Bytes pro Zeichen, wie UTF-7 und UTF-8 erfordern.Wenn Sie eine Codepage wie UTF-7 oder UTF-8 bereitstellen, schlägt _create_locale aus und gibt NULL zurück.Die den Gebietsschemanamen, die von _create_locale unterstützt werden, werden in Zeichenfolgen in lokalen Namen, Sprach- und Länder-/Regionseinstellungen beschrieben.Der Satz von der Sprache und Land/Region reiht unterstütztes durch _create_locale aufgeführt werden in Sprachzeichenfolgen und in Land/Regions-Zeichenfolgen auf.

Weitere Informationen zu Gebietsschemaeinstellungen, finden Sie unter setlocale, _wsetlocale.

Der vorherige Name dieser Funktion, __create_locale (mit zwei führenden Unterstrichen), ist veraltet.

Anforderungen

Routine

Erforderlicher Header

_create_locale

<locale.h>

_wcreate_locale

<locale.h> oder <wchar.h>

So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität.

Beispiel

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

Beispielausgabe

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

.NET Framework-Entsprechung

System::Globalization::CultureInfo-Klasse

Siehe auch

Referenz

Zeichenfolgen in lokalen Namen, Sprach- und Länder-/Regionseinstellungen

Sprachzeichenfolgen

Land/Regions-Zeichenfolgen

_free_locale

_configthreadlocale

setlocale

Gebietsschema

localeconv

_mbclen, mblen, _mblen_l

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

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

_setmbcp

setlocale, _wsetlocale

strcoll Funktionen

strftime, wcsftime, _strftime_l, _wcsftime_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

wcstombs, _wcstombs_l

wctomb, _wctomb_l