функции strcoll
Каждое strcoll и wcscoll функции сравнивают строки в соответствии с 2 LC_COLLATE категории параметра кодовой страницей языкового стандарта в настоящий момент используется.Каждое _mbscoll функции сравнивают 2 строки в соответствии с многобайтовой кодовой странице в настоящий момент используется.Используйте coll функции для сравнения строк, когда различие между знаком - задать порядок и лексикографический порядок символов в текущей кодовой странице и этом различиях представляют интерес для сравнения.Используйте соответствовать cmp функции, которую требуется проверить только на равенство строки.
функции strcoll
Однобайтовая кодировка |
Unicode |
MBCS |
Описание |
---|---|---|---|
Collate 2 строк |
|||
Collate 2 строк (с учетом регистра) |
|||
Collate сначала count символы 2 строк |
|||
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 функции должны использоваться, только если разница между знаком - установка порядок и лексикографический порядок символов в текущей кодовой странице и этом различиях представляют интерес для сравнения строк.
См. также
Ссылки
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l