Locale
Gebietsschema bezieht sich auf die Einstellungen für Land/Region und Sprache, mit denen Sie Ihr Programm anpassen können. Einige vom Gebietsschema abhängige Kategorien umfassen die Anzeigeformate für Datums- und Währungswerte. Weitere Informationen finden Sie unter Gebietsschemakategorien.
Verwenden Sie die setlocale-Funktion, um – bei der Verwendung von Funktionen ohne das _l-Suffix – einige oder alle Gebietsschemainformationen des aktuellen Programms oder Threads zu ändern oder abzufragen. Die Funktionen mit dem _l-Suffix verwenden den Gebietsschemaparameter, der nur während der Ausführung dieser spezifischen Funktion für ihre Gebietsschemainformation übergeben wird. Um ein Gebietsschema zu erstellen, das mit einer Funktion mit einem _l-Suffix verwendet werden kann, verwenden Sie _create_locale. Um dieses Gebietsschema freizugeben, verwenden Sie _free_locale. Rufen Sie das aktuelle Gebietsschema mithilfe von _get_current_locale ab.
Steuern Sie mithilfe von _configthreadlocale, ob jeder Thread über sein eigenes Gebietsschema verfügt, oder ob alle Threads in einem Programm das gleiche Gebietsschema verwenden. Weitere Informationen finden Sie unter Gebietsschemas und Codepages.
Von den Funktionen in der folgenden Tabelle sind sicherere Versionen verfügbar, die durch das Suffix _s ("sicher") gekennzeichnet sind. Weitere Informationen finden Sie unter Sicherheitsfunktionen in der CRT.
Gebietsschemaabhängige Routinen
Routine |
Verwendung |
Abhängig von setlocale-Kategorieneinstellungen |
---|---|---|
Konvertieren von Zeichen in Gleitkommawert |
LC_NUMERIC |
|
Konvertieren von Zeichen in ganzzahligen Wert |
LC_NUMERIC |
|
Konvertieren von Zeichen in 64-Bit-Ganzzahlwert |
LC_NUMERIC |
|
Konvertieren von Zeichen in langen Wert |
LC_NUMERIC |
|
Konvertieren von Zeichen in Wert mit doppelter Länge |
LC_NUMERIC |
|
Testganzzahl für bestimmten Zustand. |
LC_CTYPE |
|
Test für führendes Byte |
LC_CTYPE |
|
Lesen von entsprechenden Werten zum Formatieren von numerischen Mengen |
LC_MONETARY, LC_NUMERIC |
|
Maximale Länge in Bytes eines beliebigen Multibytezeichens im aktuellen Gebietsschema (in STDLIB.H per Makro definiert) |
LC_CTYPE |
|
Kopieren eines Multibytezeichens |
LC_CTYPE |
|
Überprüfen und Zurückgeben einer Anzahl von Bytes in Multibytezeichen |
LC_CTYPE |
|
Bei Multibyte-Zeichenfolgen: Überprüfen jedes Zeichens in der Zeichenfolge; Zurückgeben der Zeichenfolgenlänge |
LC_CTYPE |
|
Konvertieren von Multibytezeichensequenz in entsprechende Breitzeichensequenz |
LC_CTYPE |
|
Konvertieren von Multibytezeichen in entsprechendes Breitzeichen |
LC_CTYPE |
|
printf-Funktionen |
Schreiben von formatierter Ausgabe |
LC_NUMERIC (bestimmt die Basiszeichenausgabe) |
scanf-Funktionen |
Lesen von formatierter Eingabe |
LC_NUMERIC (bestimmt die Basiszeichenerkennung) |
Auswählen von Gebietsschema für Programm |
Nicht zutreffend |
|
strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l |
Vergleichen von Zeichen zweier Zeichenfolgen |
LC_COLLATE |
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l |
Vergleichen zweier Zeichenfolgen ohne Berücksichtigung von Groß-/Kleinbuchstaben |
LC_CTYPE |
_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l |
Vergleichen von Zeichen zweier Zeichenfolgen (ohne Berücksichtigung von Groß-/Kleinbuchstaben) |
LC_COLLATE |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
Vergleichen der ersten n Zeichen von zwei Zeichenfolgen |
LC_COLLATE |
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l |
Vergleichen von Zeichen zweier Zeichenfolgen ohne Berücksichtigung von Groß-/Kleinbuchstaben. |
LC_CTYPE |
_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l |
Vergleichen der ersten n Zeichen zweier Zeichenfolgen (ohne Berücksichtigung von Groß-/Kleinbuchstaben) |
LC_COLLATE |
Formatieren von Datums- und Uhrzeitwert nach angegebenem format-Argument |
LC_TIME |
|
_strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l,_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l |
Konvertieren von jedem Großbuchstaben in angegebener Zeichenfolge in Kleinbuchstaben an jeweiliger Stelle |
LC_CTYPE |
Konvertieren von Zeichenfolge in double-Wert |
LC_NUMERIC (bestimmt die Basiszeichenerkennung) |
|
Bekehrtzeichenfolge zu long-Wert |
LC_NUMERIC (bestimmt die Basiszeichenerkennung) |
|
Konvertieren von Zeichenfolge in langen Wert ohne Vorzeichen |
LC_NUMERIC (bestimmt die Basiszeichenerkennung) |
|
_strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr,_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l |
Konvertieren von jedem Kleinbuchstaben in angegebener Zeichenfolge in Großbuchstaben an jeweiliger Stelle |
LC_CTYPE |
Transformieren von Zeichenfolge in sortierte Form gemäß Gebietsschema |
LC_COLLATE |
|
tolower, _tolower, towlower, _tolower_l, _towlower_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Konvertieren von angegebenem Zeichen zu entsprechendem Kleinbuchstaben |
LC_CTYPE |
toupper, _toupper, towupper, _toupper_l, _towupper_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Konvertieren von angegebenem Zeichen zu entsprechendem Großbuchstaben |
LC_CTYPE |
Konvertieren von Breitzeichensequenz in entsprechende Multibytezeichensequenz |
LC_CTYPE |
|
Konvertieren von Breitzeichen in entsprechendes Multibytezeichen |
LC_CTYPE |
Hinweis
Bei Multibyte-Routinen muss die Multibyte-Codepage dem mit setlocale festgelegten Gebietsschema entsprechen.Wenn _setmbcp über ein Argument von _MB_CP_LOCALE verfügt, ist die Multibyte-Codepage mit der setlocale-Codepage identisch.