_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 (<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);
}
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
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l
strftime, wcsftime, _strftime_l, _wcsftime_l