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. wcscoll
può 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