Функция 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 |
См. также
Основные понятия
Другие ресурсы
Справочные материалы