Freigeben über


_strnicmp, , _wcsnicmp_mbsnicmp, _strnicmp_l, , _wcsnicmp_l_mbsnicmp_l

Vergleicht die angegebene Anzahl von Zeichen zweier Zeichenfolgen ohne Berücksichtigung von Groß-/Kleinbuchstaben.

Wichtig

_mbsnicmp und _mbsnicmp_l können 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 _strnicmp(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsnicmp(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count
);
int _mbsnicmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strnicmp_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsnicmp_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsnicmp_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parameter

string1, string2
Zu vergleichende mit NULL endende Zeichenfolgen.

count
Anzahl der zu vergleichenden Zeichen.

locale
Zu verwendendes Gebietsschema.

Rückgabewert

Gibt die Beziehung zwischen den untergeordneten Zeichenfolgen wie folgt 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 Parameterüberprüfungsfehler geben diese Funktionen zurück _NLSCMPERROR, die in <string.h> und <mbstring.h> definiert sind.

Hinweise

Die _strnicmp Funktion vergleicht höchstens die ersten count Zeichen von string1 und string2. Der Vergleich erfolgt ohne Berücksichtigung der Groß-/Kleinschreibung, indem jedes Zeichen in Kleinbuchstaben konvertiert wird. _strnicmp ist eine Version von strncmp ohne Berücksichtigung von Groß- und Kleinschreibung. 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.

Die Zeichen von 91 bis 96 in der ASCII-Tabelle ('[', '\', ']', '^', '_' und '') werden als kleiner als jedes alphabetische Zeichen ausgewertet. Diese Reihenfolge ist identisch mit der von stricmp.

_wcsnicmp und _mbsnicmp sind Breitzeichen- und Multibytezeichenversionen von _strnicmp. Bei den Argumenten handelt es _wcsnicmp sich um Zeichenfolgen mit breitem Zeichen. Die Argumente sind _mbsnicmp Multibyte-Zeichenfolgen. _mbsnicmp erkennt Multibyte-Zeichenfolgen entsprechend der aktuellen Multibyte-Codepage und gibt bei einem Fehler _NLSCMPERROR zurück. Weitere Informationen finden Sie unter Codeseiten. Diese drei Funktionen verhalten sich andernfalls identisch. Diese Funktionen werden von der Gebietsschemaeinstellung beeinflusst: Die Versionen, die nicht über die _l-Suffix verfügen, verwenden das aktuelle Gebietsschema für ihr gebietsschemaabhängiges Verhalten, und die Versionen mit _l-Suffix verwenden stattdessen locale, das übergeben wird. Weitere Informationen finden Sie unter Locale.

Mit allen diesen Funktionen werden ihre Parameter überprüft. Wenn es sich um string1 string2 einen Nullzeiger handelt, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen _NLSCMPERROR zurück und stellen errno auf EINVAL ein.

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
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Anforderungen

Routine Erforderlicher Header
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> oder <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

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

Beispiel

Ein Beispiel hierfür finden Sie unter strncmp.

Siehe auch

Zeichenfolgenbearbeitung
strcat, wcscat_mbscat
strcmp, wcscmp_mbscmp
strcpy, wcscpy_mbscpy
strncat, , _strncat_lwcsncat, _wcsncat_l, , _mbsncat_mbsncat_l
strncmp, , wcsncmp_mbsncmp_mbsncmp_l
strncpy, , _strncpy_lwcsncpy, _wcsncpy_l, , _mbsncpy_mbsncpy_l
strrchr, , wcsrchr_mbsrchr_mbsrchr_l
_strset, , _strset_l_wcsset, _wcsset_l, , _mbsset_mbsset_l
strspn, , wcsspn_mbsspn_mbsspn_l