Функция lstrcmpA (winbase.h)
Сравнивает две символьные строки. Сравнение учитывает регистр.
Чтобы выполнить сравнение без учета регистра, используйте функцию lstrcmpi .
Синтаксис
int lstrcmpA(
[in] LPCSTR lpString1,
[in] LPCSTR lpString2
);
Параметры
[in] lpString1
Тип: LPCTSTR
Первая строка, заканчивающаяся пустым значением, для сравнения.
[in] lpString2
Тип: LPCTSTR
Вторая строка, завершающаяся значением NULL, для сравнения.
Возвращаемое значение
Тип: int
Если строка, на которую указывает lpString1 , меньше строки, на которую указывает lpString2, возвращаемое значение будет отрицательным. Если строка, на которую указывает lpString1 , больше строки, на которую указывает lpString2, возвращается положительное значение. Если строки равны, возвращаемое значение равно нулю.
Комментарии
Функция lstrcmp сравнивает две строки, проверяя первые символы друг с другом, вторые символы друг с другом и т. д., пока не обнаружит неравенство или не достигнет конца строк.
Обратите внимание, что параметры lpString1 и lpString2 должны заканчиваться значением NULL, в противном случае сравнение строк может быть неправильным.
Функция вызывает CompareStringEx, используя текущий языковой стандарт потока, и вычитает 2 из результата, чтобы сохранить соглашения времени выполнения C для сравнения строк.
Язык (языковой стандарт пользователя), выбранный пользователем во время установки или с помощью панель управления, определяет, какая строка больше (или совпадают ли строки). Если язык (языковой стандарт пользователя) не выбран, система выполняет сравнение, используя значения по умолчанию.
При использовании двухбайтовой кодировки (DBCS) в системе эта функция может сравнивать две строки DBCS.
Функция lstrcmp использует сортировку слов, а не строковую сортировку. Сортировка слов обрабатывает дефисы и апострофы иначе, чем другие символы, которые не являются буквенно-цифровыми, чтобы гарантировать, что такие слова, как "coop" и "co-op", остаются вместе в отсортированных списках. Подробное обсуждение сортировки слов и строк см. в разделе Обработка сортировки в приложениях.
Замечания по безопасности
Рекомендации по обеспечению безопасности при выборе функций сравнения см. в статье Вопросы безопасности: международные функции .Примечание
Заголовок winbase.h определяет lstrcmp как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
См. также
Основные понятия
Другие ресурсы
Справочные материалы