Condividi tramite


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

Le stringhe vengono confrontate usando informazioni specifiche delle impostazioni locali.

Importante

_mbsicoll e _mbsicoll_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 _stricoll(
   const char *string1,
   const char *string2
);
int _wcsicoll(
   const wchar_t *string1,
   const wchar_t *string2
);
int _mbsicoll(
   const unsigned char *string1,
   const unsigned char *string2
);
int _stricoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int _wcsicoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbsicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale
);

Parametri

string1, string2
Stringhe che terminano con Null da confrontare.

locale
Impostazioni locali da usare.

Valore restituito

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

Valore restituito Relazione tra string1 a string2
< 0 string1 minore di string2
0 string1 uguale a string2
> 0 string1 maggiore di string2
_NLSCMPERROR Si è verificato un errore.

Ognuna di queste funzioni restituisce _NLSCMPERROR. Per usare _NLSCMPERROR, includere <string.h> o <mbstring.h>. _wcsicoll 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, _wcsicoll può impostare errno su EINVAL. Per controllare se è presente un errore in una chiamata a _wcsicoll, impostare errno su 0 e quindi controllare errno dopo aver chiamato _wcsicoll.

Osservazioni:

Ognuna di queste funzioni esegue un confronto senza distinzione tra maiuscole e minuscole di string1 e string2 in base alla tabella codici in uso. 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 corrente e questa differenza è di interesse per il confronto tra stringhe.

_stricmp è diversa da _stricoll in quanto il confronto _stricmp viene eseguito in base a LC_CTYPE, mentre il confronto _stricoll è basato sulle categorie LC_CTYPE e LC_COLLATE delle impostazioni locali. Per altre informazioni sulla LC_COLLATE categoria, vedere setlocale e Categorie di impostazioni locali. Le versioni di queste funzioni senza il suffisso _l usano le impostazioni locali correnti. Le versioni con il suffisso _l sono identiche ma usano le impostazioni locali passate. Per altre informazioni, vedere Locale.

Tutte queste funzioni convalidano i relativi parametri. Se o string1string2 sono NULL puntatori, 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
_tcsicoll _stricoll _mbsicoll _wcsicoll

Requisiti

Ciclo Intestazione obbligatoria
_stricoll, _stricoll_l <string.h>
_wcsicoll, _wcsicoll_l <wchar.h>, <string.h>
_mbsicoll, _mbsicoll_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