_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