Freigeben über


_mbsnbicmp, _mbsnbicmp_l

Vergleicht n Bytes von zwei Multibyte-Zeichenzeichenfolgen und ignoriert die Groß-/Kleinschreibung.

Wichtig

Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).

Syntax

int _mbsnbicmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);

Parameter

string1, string2
Zu vergleichende mit NULL endende Zeichenfolgen.

count
Anzahl der zu vergleichenden Bytes.

Rückgabewert

Der Rückgabewert gibt die Beziehung zwischen den untergeordneten Zeichenfolgen an.

Rückgabewert Beschreibung
< 0 Die untergeordnete Zeichenfolge string1 ist kleiner als die untergeordnete Zeichenfolge string2.
0 Die untergeordnete Zeichenfolge string1 ist mit der untergeordneten Zeichenfolge string2 identisch.
> 0 Die untergeordnete Zeichenfolge string1 ist größer als die untergeordnete Zeichenfolge string2.

Bei einem Fehler gibt _mbsnbicmp_NLSCMPERROR zurück (definiert in String.h und Mbstring.h).

Hinweise

Die _mbsnbicmp-Funktion führt einen Ordinalvergleich von höchstens der ersten count Bytes von string1 und string2 durch. Der Vergleich wird ausgeführt, indem jedes Zeichen in Kleinbuchstaben konvertiert wird; _mbsnbcmp ist eine Version von _mbsnbicmp, bei der die Groß-/Kleinschreibung beachtet wird. Der Vergleich endet, wenn in jeder Zeichenfolge beendende NULL-Zeichen erreicht wird, bevor count Zeichen verglichen wurden. Wenn beim Erreichen des beendenden NULL-Zeichens die Zeichenfolgen gleich sind, bevor count Zeichen verglichen wurden, ist die kürzere Zeichenfolge kleiner.

_mbsnbicmp ähnelt _mbsnbcmp, mit dem Unterschied, dass die Zeichenfolgen nicht nach Zeichen, sondern nach count-Bytes verglichen werden.

Zwei Zeichenfolgen, die Zeichen enthalten, die sich zwischen 'Z' und 'a' in der ASCII-Tabelle befinden ('[', '\', ']', '^', '_' und ''), vergleichen je nach Fall unterschiedlich. Beispielsweise vergleichen die beiden Zeichenfolgen "ABCDE" und "ABCD^" eine Möglichkeit, wenn der Vergleich Kleinbuchstaben ("abcde" > "abcd^") und die andere Art ("ABCDE" "ABCDE" < "ABCD^") ist, wenn sie Großbuchstaben ist.

_mbsnbicmp erkennt Multibyte-Zeichenfolgen gemäß der aktuellen Multibyte-Codepage. Dies ist nicht von der aktuellen Gebietsschemaeinstellung betroffen.

Wenn es sich um string1 string2 einen Nullzeiger handelt, wird der ungültige Parameterhandler aufgerufen, _mbsnbicmp wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt die Funktion _NLSCMPERROR zurück und setzt errno auf EINVAL.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Mapping generischer Textroutinen

Tchar.h-Routine _UNICODE und _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsnicmp_l _strnicmp_l _mbsnbicmp_l _wcsnicmp_l

Anforderungen

Routine Erforderlicher Header
_mbsnbicmp <mbstring.h>

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

Beispiel

Sehen Sie sich das Beispiel für _mbsnbcmp, _mbsnbcmp_l.

Siehe auch

Zeichenfolgenbearbeitung
_mbsnbcat, _mbsnbcat_l
_mbsnbcmp, _mbsnbcmp_l
_stricmp, , _wcsicmp_mbsicmp, _stricmp_l, , _wcsicmp_l_mbsicmp_l