strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Vergleichen Sie Zeichenfolgen mithilfe des aktuellen Gebietsschemas oder einer angegebenen LC_CTYPE-Konvertierungszustandskategorie.

Wichtiger HinweisWichtig

_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

System::String::Compare

Siehe auch

Referenz

Gebietsschema

Zeichenfolgenbearbeitung (CRT)

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