Udostępnij za pośrednictwem


_strnicmp, , _wcsnicmp, _mbsnicmp, _strnicmp_l, , _wcsnicmp_l_mbsnicmp_l

Porównuje określoną liczbę znaków dwóch ciągów bez względu na wielkość liter.

Ważne

_mbsnicmpnie można jej _mbsnicmp_l używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.

Składnia

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
);

Parametry

string1, string2
Ciągi zakończone wartością null do porównania.

count
Liczba znaków do porównania.

locale
Ustawienia regionalne do użycia.

Wartość zwracana

Wskazuje relację między podciągami w następujący sposób.

Wartość zwracana opis
< 0 string1 podciąg jest mniejszy niż string2 podciąg.
0 string1 podciąg jest identyczny z string2 podciągem.
> 0 string1 podciąg jest większy niż string2 podciąg.

W przypadku błędu sprawdzania poprawności parametrów te funkcje zwracają _NLSCMPERRORwartość , która jest zdefiniowana w parametrach <string.h> i <mbstring.h>.

Uwagi

Funkcja _strnicmp porównuje co najwyżej pierwsze count znaki znaków string1 i string2. Porównanie jest wykonywane bez względu na wielkość liter, konwertując każdy znak na małe litery. _strnicmp jest wersją bez uwzględniania wielkości liter w pliku strncmp. Porównanie kończy się, jeśli znak null zakończenia jest osiągany w obu ciągach, zanim count zostaną porównane znaki. Jeśli ciągi są równe po osiągnięciu znaku null zakończenia w ciągu przed count porównywaniem znaków, krótszy ciąg jest mniejszy.

Znaki z zakresu od 91 do 96 w tabeli ASCII ('[', '\', ']', '^', '_' i '') są obliczane jako mniejsze niż jakikolwiek znak alfabetyczny. To kolejność jest taka sama jak w przypadku stricmp.

_wcsnicmpi _mbsnicmp są wersjami znaków wielobajtowych i wielobajtowych ._strnicmp Argumenty to _wcsnicmp ciągi o szerokim znaku. Argumenty funkcji to ciągi wielobajtowe _mbsnicmp znaków. _mbsnicmp rozpoznaje sekwencje wielobajtowe według bieżącej strony kodu wielobajtowego i zwraca błąd _NLSCMPERROR . Aby uzyskać więcej informacji, zobacz Strony kodu. Te trzy funkcje zachowują się identycznie inaczej. Te funkcje mają wpływ na ustawienie ustawień regionalnych — wersje, które nie mają _l sufiksu, używają bieżących ustawień regionalnych dla zachowania zależnego od ustawień regionalnych; wersje, które mają _l sufiks, zamiast tego używają locale przekazanych ustawień regionalnych. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Wszystkie te funkcje weryfikują swoje parametry. Jeśli element string1 lub string2 jest wskaźnikiem o wartości null, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonanie jest dozwolone do kontynuowania, te funkcje zwracają _NLSCMPERROR i ustawiają wartość errno EINVAL.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Procedura TCHAR.H _UNICODE i _MBCS niezdefiniowane _MBCS zdefiniowany _UNICODE zdefiniowany
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Wymagania

Procedura Wymagany nagłówek
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> lub <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

Zobacz przykład dla elementu strncmp.

Zobacz też

Manipulowanie ciągami
strcat, , wcscat_mbscat
strcmp, , wcscmp_mbscmp
strcpy, , wcscpy_mbscpy
strncat, , _strncat_l, wcsncat, _wcsncat_l, , _mbsncat_mbsncat_l
strncmp, , wcsncmp, , _mbsncmp_mbsncmp_l
strncpy, , _strncpy_l, wcsncpy, _wcsncpy_l, , _mbsncpy_mbsncpy_l
strrchr, , wcsrchr, , _mbsrchr_mbsrchr_l
_strset, , _strset_l, _wcsset, _wcsset_l, , _mbsset_mbsset_l
strspn, , wcsspn, , _mbsspn_mbsspn_l