Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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