Freigeben über


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

Vergleicht Zeichenfolgen mithilfe gebietsschemaspezifischen Informationen.

Wichtig

_mbsicoll und _mbsicoll_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 _stricoll(
   const char *string1,
   const char *string2 
);
int _wcsicoll(
   const wchar_t *string1,
   const wchar_t *string2 
);
int _mbsicoll(
   const unsigned char *string1,
   const unsigned char *string2 
);
int _stricoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int _wcsicoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbsicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale
);

Parameter

  • string1, string2
    Zu vergleichende mit NULL endende Zeichenfolgen.

  • locale
    Das zu verwendende 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

_NLSCMPERROR

Es ist ein Fehler aufgetreten.

Jede dieser Funktion gibt _NLSCMPERROR zurück. Um _NLSCMPERROR zu verwenden, nehmen Sie entweder STRING.H oder MBSTRING.H auf. _wcsicoll 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 _wcsicollerrno möglicherweise auf EINVAL fest. Um einen Aufruf von _wcsicoll auf einen Fehler zu überprüfen, legen Sie errno auf 0 fest, und überprüfen Sie dann errno, nachdem Sie _wcsicoll aufgerufen haben.

Hinweise

Jede dieser Funktionen vergleicht string1 und string2 ohne 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.

_stricmp unterscheidet sich dadurch von _stricoll, dass der _stricmp-Vergleich von LC_CTYPE beeinflusst wird, während der _stricoll-Vergleich den Kategorien LC_CTYPE und LC_COLLATE des Gebietsschemas entspricht. Weitere Informationen zur LC_COLLATE-Kategorie finden Sie unter setlocale und Gebietsschemakategorien. Die Versionen dieser Funktionen ohne das _l-Suffix verwenden das aktuelle Gebietsschema. Die Versionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch stattdessen das ihnen übergebene Gebietsschema. Weitere Informationen finden Sie unter Locale.

Mit allen diesen Funktionen werden ihre Parameter überprüft. Wenn entweder string1 oder string2NULL-Zeiger sind, 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.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

Anforderungen

Routine

Erforderlicher Header

_stricoll, _stricoll_l

<string.h>

_wcsicoll, _wcsicoll_l

<wchar.h>, <string.h>

_mbsicoll, _mbsicoll_l

<mbstring.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

.NET Framework-Entsprechung

System::String::Compare

Siehe auch

Referenz

Locale

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