Condividi tramite


_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l_mbsnicmp_l

Confronta il numero specificato di caratteri di due stringhe senza fare distinzione tra maiuscole e minuscole.

Importante

_mbsnicmp e _mbsnicmp_l non possono essere usati nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).

Sintassi

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

Parametri

string1, string2
Stringhe che terminano con Null da confrontare.

count
Numero di caratteri da confrontare.

locale
Impostazioni locali da usare.

Valore restituito

Indica la relazione tra le sottostringhe, come indicato di seguito.

Valore restituito Descrizione
< 0 La sottostringa di string1 è minore della sottostringa di string2.
0 La sottostringa di string1 è identica alla sottostringa di string2.
> 0 La sottostringa di string1 è maggiore della sottostringa di string2.

In caso di errore di convalida dei parametri, queste funzioni restituiscono _NLSCMPERROR, definito in <string.h> e <mbstring.h>.

Osservazioni:

La _strnicmp funzione confronta al massimo i primi count caratteri di string1 e string2. Il confronto viene eseguito senza fare distinzione tra maiuscole e minuscole convertendo ogni carattere in minuscolo. _strnicmp è una versione di strncmp che non fa distinzione tra maiuscole e minuscole. Il confronto termina se viene raggiunto un carattere di terminazione Null in entrambe le stringhe prima che vengano confrontati count caratteri. Se le stringhe sono uguali quando viene raggiunto un carattere di terminazione Null in entrambe le stringhe prima che vengano confrontati count caratteri, la stringa più corta sarà la minore.

I caratteri compresi tra 91 e 96 nella tabella ASCII ('[', '\', ']', '^', '_'e '') vengono valutati come meno di qualsiasi carattere alfabetico. Questo ordinamento è identico a quello di stricmp.

_wcsnicmp e _mbsnicmp sono versioni con caratteri wide e caratteri multibyte di _strnicmp. Gli argomenti di sono stringhe di _wcsnicmp caratteri wide. Gli argomenti di sono stringhe di _mbsnicmp caratteri multibyte. _mbsnicmp riconosce le sequenze di caratteri multibyte in base alla tabella codici multibyte corrente e restituisce _NLSCMPERROR in caso di errore. Per altre informazioni, vedere Tabelle codici. A parte ciò, queste tre funzioni si comportano in modo identico. Queste funzioni vengono influenzate dalle impostazioni locali: le versioni che non hanno il suffisso _l usano le impostazioni locali correnti per il relativo comportamento dipendente dalle impostazioni locali, mentre le versioni che hanno il suffisso _l usano il parametro locale passato dall'utente. Per altre informazioni, vedere Locale.

Tutte queste funzioni convalidano i relativi parametri. string1 Se o string2 è un puntatore Null, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni restituiscono _NLSCMPERROR e impostano errno su EINVAL.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Mapping di routine di testo generico

Routine TCHAR.H _UNICODE e _MBCS non definito _MBCS definito _UNICODE definito
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Requisiti

Ciclo Intestazione obbligatoria
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> o <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

Vedere l'esempio per strncmp.

Vedi anche

Manipolazione delle stringhe
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