strcoll
, wcscoll
, _mbscoll
, _strcoll_l
, _wcscoll_l
, _mbscoll_l
Vergleicht Zeichenfolgen mithilfe des aktuellen Gebietsschemas oder einer angegebenen LC_COLLATE
Konvertierungsstatuskategorie.
Wichtig
_mbscoll
und _mbscoll_l
können nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
int strcoll(
const char *string1,
const char *string2
);
int wcscoll(
const wchar_t *string1,
const wchar_t *string2
);
int _mbscoll(
const unsigned char *string1,
const unsigned char *string2
);
int _strcoll_l(
const char *string1,
const char *string2,
_locale_t locale
);
int wcscoll_l(
const wchar_t *string1,
const wchar_t *string2,
_locale_t locale
);
int _mbscoll_l(
const unsigned char *string1,
const unsigned char *string2,
_locale_t locale
);
Parameter
string1
, string2
Zu vergleichende mit NULL endende Zeichenfolgen.
locale
Zu verwendendes Gebietsschema.
Rückgabewert
Jede dieser Funktionen gibt einen Wert zurück, der die Beziehung von string1
"zu string2
" wie folgt angibt.
Rückgabewert | Beziehung von string1 zu string2 |
---|---|
< 0 | string1 kleiner als string2 |
0 | string1 identisch mit string2 |
> 0 | string1 größer als string2 |
Jede dieser Funktionen gibt bei einem Fehler _NLSCMPERROR
zurück. Um _NLSCMPERROR
zu verwenden, fügen Sie entweder STRING.H oder MBSTRING.H. ein. wcscoll
kann fehlschlagen, wenn eine string1
oder string2
mehrere Zeichencodes außerhalb des Vorgangs enthalten sind NULL
Standard der Sortierreihenfolge. Wenn ein Fehler auftritt, legt wcscoll
errno
möglicherweise auf EINVAL
fest. Um einen Aufruf von wcscoll
auf einen Fehler zu überprüfen, legen Sie errno
auf 0 fest, und überprüfen Sie dann errno
, nachdem Sie wcscoll
aufgerufen haben.
Hinweise
Jede dieser Funktionen vergleicht string1
und string2
unter Beachtung der Groß-/Kleinschreibung entsprechend der derzeit verwendeten Codepage. Diese Funktionen sollten nur verwendet werden, wenn es einen Unterschied zwischen der Zeichensatzreihenfolge und der lexikografischen Zeichenreihenfolge auf der aktuellen Codeseite gibt und dieser Unterschied für den Zeichenfolgenvergleich von Interesse ist.
Mit allen diesen Funktionen werden ihre Parameter überprüft. Wenn es sich um string1
einen Nullzeiger handelt oder string2
count
größer als INT_MAX
ist, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen _NLSCMPERROR
zurück und stellen errno
auf EINVAL
ein.
Der Vergleich der beiden Zeichenfolgen ist ein gebietsschemaabhängiger Vorgang, da jedes Gebietsschema andere Regeln für die Sortierung von Zeichen besitzt. Die Versionen dieser Funktionen ohne das _l
-Suffix verwenden für dieses gebietsschemaabhängige Verhalten das aktuelle Gebietsschema des Threads. Die Versionen mit dem _l
-Suffix sind mit der entsprechenden Funktion ohne Suffix identisch, verwenden jedoch den ihnen übergebenen Gebietsschemaparameter anstelle des aktuellen Gebietsschemas. Weitere Informationen finden Sie unter Locale.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Generische Textroutinzuordnungen
TCHAR.H-Routine | _UNICODE und _MBCS nicht definiert |
_MBCS Definiert |
_UNICODE Definiert |
---|---|---|---|
_tcscoll |
strcoll |
_mbscoll |
wcscoll |
Anforderungen
Routine | Erforderlicher Header |
---|---|
strcoll |
<string.h> |
wcscoll |
<wchar.h>, <string.h> |
_mbscoll , _mbscoll_l |
<mbstring.h> |
_strcoll_l |
<string.h> |
_wcscoll_l |
<wchar.h>, <string.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Siehe auch
Gebietsschema
Zeichenfolgenmanipulation
strcoll
-Funktionen
localeconv
_mbsnbcoll
, _mbsnbcoll_l
, _mbsnbicoll
, _mbsnbicoll_l
setlocale
, _wsetlocale
strcmp
, wcscmp
, _mbscmp
_stricmp
, _wcsicmp
, _mbsicmp
, _stricmp_l
, _wcsicmp_l
, _mbsicmp_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
strxfrm
, wcsxfrm
, _strxfrm_l
, _wcsxfrm_l
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für