_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
_mbsnicmp
nie 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ą _NLSCMPERROR
wartość , 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
.
_wcsnicmp
i _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