Condividi tramite


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l_mbscoll_l

Confronta le stringhe usando le impostazioni locali correnti o una categoria di stato di conversione specificata LC_COLLATE .

Importante

_mbscoll e _mbscoll_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 strcoll(
   const char *string1,
   const char *string2
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbscoll_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

Ognuna di queste funzioni restituisce _NLSCMPERROR in caso di errore. Per usare _NLSCMPERROR, includere STRING.H o MBSTRING.H. wcscollpuò avere esito negativo se string1 o è NULL o string2 contiene codici di caratteri wide all'esterno del dominio della sequenza di confronto. Quando si verifica un errore, wcscoll può impostare errno su EINVAL. Per controllare se è presente un errore in una chiamata a wcscoll, impostare errno su 0 e quindi controllare errno dopo aver chiamato wcscoll.

Osservazioni:

Ognuna di queste funzioni esegue un confronto con 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.

Tutte queste funzioni convalidano i relativi parametri. string1 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 . Se l'esecuzione può continuare, queste funzioni restituiscono _NLSCMPERROR e impostano errno su EINVAL.

Il confronto delle due stringhe è un'operazione che dipende dalle impostazioni locali, dato che ogni set di impostazioni locali prevede regole diverse per l'ordinamento dei caratteri. Le versioni di queste funzioni senza il suffisso _l usano le impostazioni locali del thread corrente per questo comportamento dipendente dalle impostazioni locali. Le versioni con il suffisso _l sono identiche ma usano le impostazioni locali passate in un parametro invece delle impostazioni locali correnti. Per altre informazioni, vedere Locale.

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
_tcscoll strcoll _mbscoll wcscoll

Requisiti

Ciclo Intestazione obbligatoria
strcoll <string.h>
wcscoll <wchar.h>, <string.h>
_mbscoll, _mbscoll_l <mbstring.h>
_strcoll_l <string.h>
_wcscoll_l <wchar.h>, <string.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