Freigeben über


_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

Vergleicht n Bytes von zwei Mehrbyte-Zeichenfolgen mithilfe der Mehrbyte-Codepage-Informationen.

Wichtiger HinweisWichtig

Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

int _mbsnbcoll( const unsigned char *string1, const unsigned char *string2, size_t count ); int _mbsnbcoll_l( const unsigned char *string1, const unsigned char *string2, size_t count, _locale_t locale ); int _mbsnbicoll( const unsigned char *string1, const unsigned char *string2, size_t count ); int _mbsnbicoll_l( const unsigned char *string1, const unsigned char *string2, size_t count, _locale_t locale );

Parameter

  • string1, string2
    So vergleichen Zeichenfolgen.

  • count
    Anzahl Bytes zu vergleichen.

  • locale
    Zu verwendende Gebietsschema.

Rückgabewert

Der Rückgabewert gibt die Beziehung der Teilzeichenfolgen in string1 und von string2 an.

Rückgabewert

Beschreibung

< 0

string1 Teilzeichenfolge kleiner als string2 Teilzeichenfolge.

0

string1 Teilzeichenfolge identisch zu string2 Teilzeichenfolge.

> 0

string1 Teilzeichenfolge größer als string2 Teilzeichenfolge.

Wenn string1 oder string2NULL ist, oder 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.Um _NLSCMPERROR zu verwenden, geben Sie entweder String.h oder Mbstring.h ein.

Hinweise

Jede dieser Funktionen sortiert höchstens die ersten count Bytes in string1 und in string2 und gibt einen Wert, der die Beziehung zwischen den resultierenden Teilzeichenfolgen in string1 und string2 angibt.Wenn das endgültige Byte der Teilzeichenfolge von string1 oder von string2 ein führendes Byte ist, wird es nicht im Vergleich enthalten; diese Funktionen vergleichen nur vollständige Zeichen in den Teilzeichenfolgen._mbsnbicoll ist eine Groß-/Kleinschreibung keine Version von _mbsnbcoll.Wie _mbsnbcmp und _mbsnbicmp sortieren _mbsnbcoll und _mbsnbicoll die zwei Mehrbyte-Zeichenfolgen entsprechend der lexikografischen Reihenfolge lediglich, in die Verwendung von - Codepage angegeben wird.

Bei einigen Codepages und entsprechende Zeichensätze kann die Reihenfolge der Zeichen im Zeichensatz kann sich von der lexikografischen Reihenfolge.Im "C " - Gebietsschema ist dies nicht der Fall: die Reihenfolge der Zeichen im ASCII-Zeichensatz entspricht der lexikografische Reihenfolge der Zeichen.In bestimmten europäischen Codepages beispielsweise das Zeichen "a" (Wert 0x61) wird dem Zeichen "ä" (Wert 0xE4) im Zeichensatz, dem Zeichen "ä" vor dem Zeichen "a" lexikografisch voran.Um einen lexikografischen Vergleich von Zeichenfolgen von Bytes in einer solchen Instanz auszuführen, verwenden Sie _mbsnbcoll statt _mbsnbcmp; um nur für Zeichenfolgengleichheit zu überprüfen, verwenden Sie _mbsnbcmp.

Da die coll-Funktionen Zeichenfolgen lexikografisch für Vergleich sortieren, während der Test cmp-Funktionen einfach für Zeichenfolgengleichheit, die coll-Funktionen viel langsamer als die entsprechenden cmp-Versionen sind.Daher, sollten die coll-Funktionen 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 Vergleich ist.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; setlocale finden Sie weitere Informationen.Die Versionen dieser Funktionen ohne das _l Suffix verwenden das aktuelle Gebietsschema für dieses Verhalten abhängig; die Versionen mit dem _l Suffix sind identisch, allerdings verwenden den Gebietsschemaparameter, der in stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.

Zuordnung generische Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

_tcsncoll_l

_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

_mbsnbcoll_l

_wcsncoll_l

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_l

Anforderungen

Routine

Erforderlicher Header

_mbsnbcoll

<mbstring.h>

_mbsnbcoll_l

<mbstring.h>

_mbsnbicoll

<mbstring.h>

_mbsnbicoll_l

<mbstring.h>

Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

strcoll Funktionen

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l