_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l

Le stringhe vengono confrontate usando informazioni specifiche delle impostazioni locali.

Importante

_mbsnicoll e _mbsnicoll_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 _strnicoll(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsnicoll(
   const wchar_t *string1,
   const wchar_t *string2 ,
   size_t count
);
int _mbsnicoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strnicoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsnicoll_l(
   const wchar_t *string1,
   const wchar_t *string2 ,
   size_t count,
   _locale_t locale
);
int _mbsnicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parametri

string1, string2
Stringhe con terminazione Null da confrontare.

count
Numero di caratteri da confrontare.

locale
Impostazioni locali da usare.

Valore restituito

Ognuna di queste funzioni restituisce un valore che indica la relazione delle sottostringhe di string1 e string2, come indicato di seguito.

Valore restituito Relazione di stringa1 e stringa2
< 0 string1 minore di string2
0 string1 uguale a string2
> 0 string1 maggiore di string2

Ognuna di queste funzioni restituisce _NLSCMPERROR. Per usare _NLSCMPERROR, includere STRING.H o MBSTRING.H. _wcsnicoll può non riuscire se string1 o string2 contiene codici di caratteri wide che sono al di fuori del dominio della sequenza di ordinamento. Quando si verifica un errore, _wcsnicoll può impostare errno su EINVAL. Per controllare se è presente un errore in una chiamata a _wcsnicoll, impostare errno su 0 e quindi controllare errno dopo aver chiamato _wcsnicoll.

Osservazioni:

Ognuna di queste funzioni esegue un confronto senza distinzione tra maiuscole e minuscole dei primi caratteri count in string1 e string2 in base alla tabella codici. Queste funzioni devono essere usate solo quando esiste una differenza tra l'ordine del set di caratteri e l'ordine lessicografico dei caratteri nella tabella codici e questa differenza è di interesse per il confronto tra stringhe. Le versioni di queste funzioni senza il suffisso _l usano le impostazioni locali e la tabella codici correnti. Le versioni con il _l suffisso sono identiche, ad eccezione del fatto che usano le impostazioni locali passate. Per altre informazioni, vedere Locale.

Tutte queste funzioni convalidano i relativi parametri. Se o string2 è un puntatore Null o se count è maggiore di INT_MAX, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri .string1 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
_tcsncicoll _strnicoll _mbsnbicoll _wcsnicoll
_tcsnicoll _strnicoll _mbsnbicoll _wcsnicoll
_tcsnicoll_l _strnicoll_l _mbsnbicoll_l _wcsnicoll_l

Requisiti

Ciclo Intestazione obbligatoria
_strnicoll, _strnicoll_l <string.h>
_wcsnicoll, _wcsnicoll_l <wchar.h> o <string.h>
_mbsnicoll, _mbsnicoll_l <mbstring.h>

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

Vedi anche

impostazioni locali
Manipolazione delle stringhe
Funzioni strcoll
localeconv
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
setlocale, _wsetlocale
strcmp, wcscmp, _mbscmp
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l