Funzioni strcollstrcoll Functions

Ognuna delle funzioni strcoll e wcscollconfronta due stringhe in base all'impostazione della categoria di LC_COLLATE della tabella codici delle impostazioni locali in uso.Each of the strcoll and wcscoll functions compares two strings according to the LC_COLLATE category setting of the locale code page currently in use. Ognuna delle funzioni _mbscoll confronta due stringhe in base all'impostazione della tabella codici multibyte delle impostazioni locali in uso.Each of the _mbscoll functions compares two strings according to the multibyte code page currently in use. Usare le funzioni coll per il confronto di stringhe solo quando esiste una differenza nella tabella codici corrente tra l'ordine del set di caratteri e l'ordine lessicografico dei caratteri e quando questa differenza è di particolare interesse per il confronto.Use the coll functions for string comparisons when there is a difference between the character set order and the lexicographic character order in the current code page and this difference is of interest for the comparison. Usare le funzioni cmp corrispondenti per eseguire il test per testare solo per l'uguaglianza di stringhe.Use the corresponding cmp functions to test only for string equality.

Funzioni strcollstrcoll Functions

SBCSSBCS UnicodeUnicode MBCSMBCS DescrizioneDescription
strcollstrcoll wcscollwcscoll _mbscoll_mbscoll Collaziona due stringheCollate two strings
_stricoll_stricoll _wcsicoll_wcsicoll _mbsicoll_mbsicoll Collaziona due stringhe senza distinzione tra maiuscole e minuscoleCollate two strings (case insensitive)
_strncoll_strncoll _wcsncoll_wcsncoll _mbsncoll_mbsncoll Collaziona i primi count caratteri di due stringheCollate first count characters of two strings
_strnicoll_strnicoll _wcsnicoll_wcsnicoll _mbsnicoll_mbsnicoll Collaziona i primi count caratteri di due stringhe senza distinzione tra maiuscole e minuscoleCollate first count characters of two strings (case-insensitive)

NoteRemarks

Le versioni a caratteri a un byte (SBCS) di queste funzioni (strcoll, stricoll, _strncoll e _strnicoll) confrontano string1 e string2 in base all'impostazione della categoria LC_COLLATE delle impostazioni locali correnti.The single-byte character (SBCS) versions of these functions (strcoll, stricoll, _strncoll, and _strnicoll) compare string1 and string2 according to the LC_COLLATE category setting of the current locale. Queste funzioni sono diverse dalle corrispondenti funzioni strcmp, in quanto le funzioni strcoll usano le informazioni della tabella codici delle impostazioni locali che forniscono sequenze di collazione.These functions differ from the corresponding strcmp functions in that the strcoll functions use locale code page information that provides collating sequences. Per i confronti di stringhe nelle impostazioni locali in cui l'ordine del set di caratteri e l'ordine lessicografico dei caratteri differiscono, devono essere usate le funzioni strcoll anziché le funzioni strcmp corrispondenti.For string comparisons in locales in which the character set order and the lexicographic character order differ, the strcoll functions should be used rather than the corresponding strcmp functions. Per altre informazioni su LC_COLLATE, vedere setlocale.For more information on LC_COLLATE, see setlocale.

Per alcune tabelle codici e per i set di caratteri corrispondenti, l'ordine dei caratteri nel set di caratteri può differire dall'ordine lessicografico dei caratteri stessi.For some code pages and corresponding character sets, the order of characters in the character set may differ from the lexicographic character order. Ciò non è vero nelle impostazioni locali "C". L'ordine dei caratteri nel set di caratteri ASCII è lo stesso dell'ordine lessicografico dei caratteri.In the "C" locale, this is not the case: the order of characters in the ASCII character set is the same as the lexicographic order of the characters. In alcune tabelle codici europee, tuttavia, il carattere "a" (valore 0x61) precede il carattere "ä" (valore 0xE4) nel set di caratteri, ma il carattere "ä" precede lessicograficamente il carattere "a".However, in certain European code pages, for example, the character 'a' (value 0x61) precedes the character 'ä' (value 0xE4) in the character set, but the character 'ä' precedes the character 'a' lexicographically. Per eseguire un confronto lessicografico in tale istanza, usare strcoll anziché strcmp.To perform a lexicographic comparison in such an instance, use strcoll rather than strcmp. In alternativa, è possibile utilizzare strxfrm sulle stringhe originali, quindi usare strcmp sulle stringhe risultanti.Alternatively, you can use strxfrm on the original strings, then use strcmp on the resulting strings.

strcoll, stricoll, _strncoll e _strnicoll gestiscono automaticamente stringhe di caratteri multibyte in base alla tabella codici delle impostazioni locali attualmente in uso, analogamente alle rispettive controparti a caratteri wide (Unicode).strcoll, stricoll, _strncoll, and _strnicoll automatically handle multibyte-character strings according to the locale code page currently in use, as do their wide-character (Unicode) counterparts. Le versioni a caratteri multibyte (MBCS) di queste funzioni, tuttavia, riordinano le stringhe in base ai caratteri secondo la tabella codici multibyte in uso.The multibyte-character (MBCS) versions of these functions, however, collate strings on a character basis according to the multibyte code page currently in use.

Dato che le funzioni coll collazionano le stringhe a livello lessicografico per il confronto, mentre le funzioni cmp testano semplicemente le stringhe per verificarne l'uguaglianza, le funzioni coll sono molto più lente delle versioni cmp corrispondenti.Because the coll functions collate strings lexicographically for comparison, whereas the cmp functions simply test for string equality, the coll functions are much slower than the corresponding cmp versions. È quindi consigliabile usare le funzioni coll solo se esiste una differenza nella tabella codici corrente tra l'ordine del set di caratteri e l'ordine lessicografico dei caratteri e se questa differenza è di particolare interesse per il confronto delle stringhe.Therefore, the coll functions should be used only when there is a difference between the character set order and the lexicographic character order in the current code page and this difference is of interest for the string comparison.

Vedere ancheSee Also

Impostazioni locali Locale
Modifica di stringhe String Manipulation
localeconv localeconv
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l _mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
setlocale, _wsetlocale setlocale, _wsetlocale
strcmp, wcscmp, _mbscmp strcmp, wcscmp, _mbscmp
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l _strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_lstrxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l