Condividi tramite


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

Confronto di stringhe utilizzando informazioni specifiche delle impostazioni locali.

Importante

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

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

_NLSCMPERROR

si è verificato un errore.

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

Note

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

_stricmp si distingue da _stricoll in quanto il confronto _stricmp è influenzato da LC_CTYPE, mentre il confronto _stricoll si basa sulle categorie LC_CTYPE e LC_COLLATE delle impostazioni locali. Per ulteriori informazioni sulla categoria LC_COLLATE, vedere setlocale e Categorie locali. Le versioni di queste funzioni senza il suffisso _l utilizzano le impostazioni locali correnti; le versioni con il suffisso _l sono identiche salvo ad eccezione del fatto che utilizzano le impostazioni locali passate. Per ulteriori informazioni, vedere Impostazioni locali.

Tutte queste funzioni convalidano i relativi parametri. Se string1 o string2 sono puntatori NULL, 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.

Mapping di routine su testo generico

Routine TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

Requisiti

Routine

Intestazione obbligatoria

_stricoll, _stricoll_l

<string.h>

_wcsicoll, _wcsicoll_l

<wchar.h>, <string.h>

_mbsicoll, _mbsicoll_l

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