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


Функция lstrcmpW (winbase.h)

Сравнивает две символьные строки. Сравнение учитывает регистр.

Чтобы выполнить сравнение без учета регистра, используйте функцию lstrcmpi .

Синтаксис

int lstrcmpW(
  [in] LPCWSTR lpString1,
  [in] LPCWSTR lpString2
);

Параметры

[in] lpString1

Тип: LPCTSTR

Первая строка, завершающаяся нулевым значением, для сравнения.

[in] lpString2

Тип: LPCTSTR

Вторая строка, завершающаяся нулевым значением, для сравнения.

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

Тип: int

Если строка, на которую указывает lpString1 , меньше строки, на которую указывает lpString2, возвращаемое значение будет отрицательным. Если строка, на которую указывает lpString1 , больше строки, на которую указывает lpString2, возвращаемое значение будет положительным. Если строки равны, возвращаемое значение равно нулю.

Комментарии

Функция lstrcmp сравнивает две строки, проверяя первые символы друг с другом, вторые — друг с другом и т. д., пока не обнаружит неравенство или не достигнет конца строк.

Обратите внимание, что параметры lpString1 и lpString2 должны заканчиваться null, в противном случае сравнение строк может быть неправильным.

Функция вызывает CompareStringEx, используя языковой стандарт текущего потока, и вычитает 2 из результата, чтобы сохранить соглашения времени выполнения C для сравнения строк.

Язык (языковой стандарт пользователя), выбранный пользователем во время установки или с помощью панель управления, определяет, какая строка больше (или совпадают ли строки). Если язык (языковой стандарт пользователя) не выбран, система выполняет сравнение, используя значения по умолчанию.

При использовании двухбайтовой версии системы (DBCS) эта функция может сравнивать две строки DBCS.

Функция lstrcmp использует сортировку по словам, а не строковую сортировку. Сортировка слов обрабатывает дефисы и апострофы иначе, чем другие символы, которые не являются буквенно-цифровыми, чтобы гарантировать, что такие слова, как "coop" и "co-op" остаются вместе в отсортированных списках. Подробное описание сортировки слов и строк см. в разделе Обработка сортировки в приложениях.

Примечания по безопасности

Рекомендации по обеспечению безопасности, касающиеся выбора функций сравнения, см. в разделе Вопросы безопасности: международные функции .

Примечание

Заголовок winbase.h определяет lstrcmp в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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

См. также

CompareString

CompareStringEx

CompareStringOrdinal

Основные понятия

Другие ресурсы

Справочные материалы

Строки

lstrcat

lstrcmpi

lstrcpy

lstrlen