_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
Vergleicht n Bytes von zwei Mehrbyte-Zeichenfolgen mithilfe der Mehrbyte-Codepage-Informationen.
Wichtig |
---|
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 |
_mbsnbcoll |
||
_tcsncoll_l |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
_mbsnbcoll_l |
|
_tcsnicoll |
_mbsnbicoll |
||
_tcsnicoll_l |
_mbsnbicoll_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)
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l