Поделиться через


Функция CompareStringOrdinal (stringapiset.h)

Сравнивает две строки Юникода для проверки бинарной эквивалентности.

Синтаксис

int CompareStringOrdinal(
  [in] _In_NLS_string_(cchCount1)LPCWCH lpString1,
  [in] int                              cchCount1,
  [in] _In_NLS_string_(cchCount2)LPCWCH lpString2,
  [in] int                              cchCount2,
  [in] BOOL                             bIgnoreCase
);

Параметры

[in] lpString1

Указатель на первую сравниваемую строку.

[in] cchCount1

Длина строки, указанной lpString1. Приложение предоставляет значение -1, если строка завершается со значением NULL. В этом случае функция определяет длину автоматически.

[in] lpString2

Указатель на вторую строку для сравнения.

[in] cchCount2

Длина строки, указанной lpString2. Приложение предоставляет значение -1, если строка завершается со значением NULL. В этом случае функция определяет длину автоматически.

[in] bIgnoreCase

Значение TRUE , если функция выполняет сравнение без учета регистра с использованием сведений таблицы операционной системы в верхнем регистре. Приложение устанавливает для этого параметра значение FALSE , если функция сравнивает строки точно так, как они передаются. Обратите внимание, что 1 является единственным числовым значением, которое можно использовать для указания истинного значения для этого логического параметра, которое не приводит к ошибке недопустимого параметра. Логические значения для этого параметра работают должным образом.

Возвращаемое значение

В случае успешного выполнения возвращает одно из следующих значений. Чтобы сохранить соглашение среды выполнения C о сравнении строк, значение 2 можно вычесть из ненулевого возвращаемого значения. Затем значения <0, ==0 и >0 согласуются со средой выполнения C.

  • CSTR_LESS_THAN. Значение, указанное lpString1 , меньше значения, указанного в lpString2.
  • CSTR_EQUAL. Значение, указанное lpString1 , равно значению, указанному в lpString2.
  • CSTR_GREATER_THAN. Значение, указанное lpString1 , больше значения, указанного в lpString2.
Функция возвращает значение 0, если не удалось. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:
  • ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.

Комментарии

Эта функция проверяет двоичное равенство, а не лингвистическое равенство. Сведения об использовании функции для порядковой сортировки см. в разделе Обработка сортировки в приложениях.

Приложения, которые связаны с лингвистическим равенством, должны использовать CompareString, CompareStringEx, lstrcmp или lstrcmpi. Дополнительные сведения о лингвистической сортировке см. в разделе Обработка сортировки в приложениях.

Начиная с Windows 8: CompareStringOrdinal объявляется в Stringapiset.h. До Windows 8 он объявлялся в Winnls.h.

Требования

   
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header stringapiset.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CompareString

CompareStringEx

Обработка сортировки в приложениях

Поддержка национальных языков

Функции поддержки национальных языков

Вопросы безопасности: международные функции

Использование нормализации Юникода для представления строк