strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l
Vergleichen Sie Zeichenfolgen mithilfe des aktuellen Gebietsschemas oder einer angegebenen LC_CTYPE-Konvertierungszustandskategorie.
Wichtig |
---|
_mbscoll und _mbscoll_l können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
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
Auf NULL endende Zeichenfolgen zu vergleichen.locale
Zu verwendende Gebietsschema.
Rückgabewert
Jede dieser Funktionen gibt einen Wert zurück, der das Verhältnis von string1 zu string2*,* wie folgt angibt.
Rückgabewert |
Verhältnis von string1 zu Zeichenfolge2 |
---|---|
< 0 |
string1 kleiner als string2 |
0 |
string1 identisch zu string2 |
> 0 |
string1 größer als string2 |
Jede dieser Funktionen gibt _NLSCMPERROR auf einem Fehler zurück.Um _NLSCMPERROR zu verwenden, geben Sie entweder STRING.H oder MBSTRING.H. ein.wcscoll kann fehlschlagen, wenn entweder string1 oder string2 NULL oder Zeichenkodes außerhalb der Domäne der Sortierreihenfolge enthält.Wenn ein Fehler auftritt, wird möglicherweise wcscollerrno zu EINVAL fest.Um für einen Fehler bei einem Aufruf wcscoll sicherzustellen, legen Sie errno auf 0 und überprüfen Sie dann errno nachdem Sie wcscoll aufgerufen wurde.
Hinweise
Jede dieser Funktionen führt einen Groß-/Kleinschreibung Vergleich von string1 und von string2 entsprechend der Codepage derzeit aus.Diese Funktionen sollten nur verwendet werden, wenn es einen Unterschied zwischen der Sortierung des - Zeichensatzes gibt und der lexikografischen Reihenfolge in der aktuellen Codepage und diesem Unterschied relevant für den Zeichenfolgenvergleich ist.
Alle diese Funktionen überprüfen ihre Parameter.Wenn entweder string1 oder string2 ein NULL-Zeiger ist oder wenn count größer als INT_MAX ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, geben diese Funktionen _NLSCMPERROR zurück und legen errno auf EINVAL fest.
Der Vergleich der zwei Zeichenfolgen ist ein gebietsschemaabhängiger Vorgang, da jedes Gebietsschema verschiedene Regeln für Sortierungen von Zeichen an.Die Versionen dieser Funktionen ohne das _l Suffix verwenden das aktuelle Gebietsschema des Threads für dieses Verhalten abhängig; die Versionen mit dem _l Suffix sind an die entsprechende Funktion ohne das Suffix identisch, allerdings verwenden das Gebietsschema, das in als Parameter anstatt des aktuellen Gebietsschemas übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Zuordnung generische 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> |
So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
.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