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


функция lstrcmpA (winbase.h)

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

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

Синтаксис

int lstrcmpA(
  [in] LPCSTR lpString1,
  [in] LPCSTR lpString2
);

Параметры

[in] lpString1

Тип: LPCTSTR

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

[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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winbase.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

CompareString

CompareStringEx

CompareStringOrdinal

концептуальные

другие ресурсы

Справочник

строки

lstrcat

lstrcmpi

lstrcpy

lstrlen