Функция lstrcmp

Функция lstrcmp сравнивает две строки символов. Сравнение зависимо от регистра. Чтобы выполнить сравнение, которое не зависимо от регистра, используйте функцию lstrcmpi.

Синтаксис

int lstrcmp(      

    LPCTSTR lpString1,
    LPCTSTR lpString2
);

Параметры

lpString1

[in] Указатель на первую строку с завершающим нулем, которая будет сравниваться.

lpString2

[in] Указатель на вторую строку с завершающим нулем, которая будет сравниваться.

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

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

Замечания

Функция lstrcmp сравнивает две строки, проверяя первые символы по отношению друг к другу, вторые символы по отношению друг к другу, и так далее до тех пор, пока не она найдет неравенство или не достигнет конца строк.

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

Функция возвращает различие значений первых неравных символов, с которым она встречается. Например, lstrcmp решает, что "abcz" больше, чем "abcdefg" и возвращает различие между z и d.

Функция вызывает функцию CompareString, используя текущий язык страны (местности) потока, и вычитает из результирующего значения 2, чтобы поддержать соглашения  в C времени выполнения программы для того, чтобы сравнить строки.

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

В версии набора двухбайтовых символов системы, эта функция может сравнить две строки набора двухбайтовых символов.

Функция lstrcmp использует сортировку слов, а не сортировку строк. Сортировка слов обрабатывает дефисы и апострофы по-другому, а не так, как она обрабатывает другие символы, которые не являются буквенно-цифровыми, для того, чтобы гарантировать, что слова, такие как "кооператив" и "коопе-ратив" остались вместе внутри отсортированного списка. Детальное обсуждение сортировки слов и строк, см. в статье с описанием функции CompareString в разделе Замечания.

Windows 95/98/Me: lstrcmpW поддерживается программой Microsoft Layer for Unicode (MSLU). Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.

Пример

Пример смотри в статье Определение совместно используемого ресурса местного языка.

Смотри также

Обзор Строки, Функции, используемые строками, CompareString, lstrcat, lstrcmpi, lstrcpy, lstrlen

Размещение и совместимость lstrcmp

К Windows XP Да
л Windows 2000 Professional Да
и Windows NT Workstation Да версии 3.1
е Windows Me Да
н Windows 98 Да
т Windows 95 Да
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Да версии 3.1
в
е
р
Используемая библиотека Kernel32.lib
Используемая DLL kernel32.dll
Заголовочный файл
- объявлено в Winbase.h
- включено в Windows.h
Unicode Реализуются как версии Unicode и ANSI.
Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
В оглавление справки
Переведено 12.05.2009 16:58 ©Copyright V. Sokovikov
Hosted by uCoz