strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l
Vergleicht Zeichenfolgen mithilfe des aktuellen Gebietsschemas oder einer angegebenen LC_COLLATE-Konvertierungszustandskategorie.
Wichtig
_mbscoll und _mbscoll_l können nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.
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 zwischen string1 mit string2*,* wie folgt angibt.
Rückgabewert |
Verhältnis 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 string1 oder string2 NULL ist oder Codes mit Breitzeichen außerhalb der Domäne der Sortierreihenfolge enthält. Wenn ein Fehler auftritt, legt wcscollerrno 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 in der aktuellen Codepage einen Unterschied zwischen der Reihenfolge des Zeichensatzes und der lexikografischen Reihenfolge gibt, und dieser Unterschied für den Zeichenfolgenvergleich relevant ist.
Mit allen diesen Funktionen werden ihre Parameter überprüft. Wenn entweder string1 oder string2 ein NULL-Zeiger ist oder wenn count größer als INT_MAX ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung 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.
Zuordnung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _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.
.NET Framework-Entsprechung
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l