Функция 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

См. также

CompareString

CompareStringEx

CompareStringOrdinal

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

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

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

Строки

lstrcat

lstrcmpi

lstrcpy

lstrlen