функции strcoll

Каждое strcoll и wcscoll функции сравнивают строки в соответствии с 2 LC_COLLATE категории параметра кодовой страницей языкового стандарта в настоящий момент используется.Каждое _mbscoll функции сравнивают 2 строки в соответствии с многобайтовой кодовой странице в настоящий момент используется.Используйте coll функции для сравнения строк, когда различие между знаком - задать порядок и лексикографический порядок символов в текущей кодовой странице и этом различиях представляют интерес для сравнения.Используйте соответствовать cmp функции, которую требуется проверить только на равенство строки.

функции strcoll

Однобайтовая кодировка

Unicode

MBCS

Описание

strcoll

wcscoll

_mbscoll

Collate 2 строк

_stricoll

_wcsicoll

_mbsicoll

Collate 2 строк (с учетом регистра)

_strncoll

_wcsncoll

_mbsncoll

Collate сначала count символы 2 строк

_strnicoll

_wcsnicoll

_mbsnicoll

Collate сначала count символы 2 строк (обращение-нечувствительных)

Заметки

Версии символов единый-байта (однобайтовой кодировки этих функций ()strcoll" stricoll" _strncollи _strnicollсравнение) string1 и string2 согласно LC_COLLATE параметр категории текущего языкового стандарта.Эти функции отличаются от сопоставления strcmp в этой функции strcoll данные кодовой страницы языкового стандарта использования функций, предоставляющий упорядоченной последовательности.Для сравнения строк на языковых стандартах, в которых кодировку и порядок лексикографический порядок символа отличается, strcoll функции должны использоваться вместо сопоставления strcmp функции.Дополнительные сведения LC_COLLATEсм. setlocale.

Для некоторых кодовых страниц, и соответствующего символа - наборов, порядок символов в символе - набор может отличаться от порядка лексикографического знака.В языковом стандарте "c", это не так: порядок символов в кодировке ASCII одинаково как лексикографический порядок символов.Однако в некоторых европейских кодовых страницах, например символа "a" (значение 0x61) предшествует знак "ä" (значение 0xE4) кодировки, но знак "ä" предшествует символ "a" лексикографически.Выполнить лексикографическое сравнение, в том экземпляре, используемый strcoll вместо strcmp.Кроме того, можно использовать strxfrm на исходные строки, затем воспользуйтесь strcmp в результирующей строке.

strcoll" stricoll" _strncollи _strnicoll автоматически обрабатывать характерные черты в соответствии с кодовой страницей языкового стандарта, в настоящий момент используется, как это делают их аналоги расширенных символов (юникод).Версии многобайтового символов (mbcs) этих функций, однако collate строки для каждого символа в соответствии с многобайтовой кодовой странице в настоящий момент используется.

Поскольку coll функции collate для сравнения строк лексикографически, тогда как cmp функции просто проверяют на равенство строки coll функции гораздо медленнее, чем соответствовать cmp версии.Следовательно, coll функции должны использоваться, только если разница между знаком - установка порядок и лексикографический порядок символов в текущей кодовой странице и этом различиях представляют интерес для сравнения строк.

См. также

Ссылки

Языковой стандарт

Управление строками (CRT)

localeconv

_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

setlocale, _wsetlocale

strcmp, wcscmp, _mbscmp

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l