Condividi tramite


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Confronto di stringhe utilizzando le impostazioni locali correnti oppure specificando una categoria LC_COLLATE di conversione dello stato.

Importante

_mbscoll e _mbscoll_l non possono essere utilizzate nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.

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 utilizzare.

Valore restituito

Ognuna di queste funzioni restituisce un valore che indica la relazione tra string1 e string2*,* come segue.

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 su un errore. Per utilizzare _NLSCMPERROR, includere STRING.H o MBSTRING.H. wcscoll può non riuscire se string1 o string2 è NULL oppure contiene codici a caratteri "wide" al di fuori del dominio della sequenza di ordinamento. Quando si verifica un errore, wcscoll può impostare errno a EINVAL. Per verificare un errore in una chiamata a wcscoll, impostare errno a 0 e quindi verificare errno dopo aver chiamato wcscoll.

Note

Ognuna di queste funzioni esegue un confronto senza distinzione tra maiuscole e minuscole di string1 e string2 in base alla tabella dei codici attualmente utilizzata. Queste funzioni devono essere utilizzate solo quando esiste una differenza nella tabella codici corrente tra l'ordine del set di caratteri e l'ordine dei caratteri lessicografici, questa differenza è particolarmente interessante per il confronto di stringhe.

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

Il confronto tra le due stringhe è un'operazione dipendente dalle impostazioni locali poiché ogni impostazione locale ha regole differenti per ordinare i caratteri. Le versioni di queste funzioni senza il suffisso _l utilizzano le impostazioni locali della thread corrente per questo comportamento dipendente dalle impostazioni locali; le versioni con il suffisso _l sono identiche alla corrispondenti funzioni senza il suffisso, con la differenza che utilizzano le impostazioni locali passate come parametro anziché le impostazioni locali correnti. Per ulteriori informazioni, vedere Impostazioni locali.

Mapping di routine su testo generico

Routine TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcscoll

strcoll

_mbscoll

wcscoll

Requisiti

Routine

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 ulteriori informazioni sulla compatibilità, vedere Compatibilità.

Equivalente .NET Framework

System::String::Compare

Vedere anche

Riferimenti

Impostazioni locali

Modifica di stringhe (CRT)

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