Функция lstrcmp сравнивает две строки символов. Сравнение зависимо от регистра. Чтобы выполнить сравнение, которое не зависимо от регистра, используйте функцию lstrcmpi.
int lstrcmp( LPCTSTR lpString1, LPCTSTR lpString2 ); |
[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. | |
Замечания по платформе | Не имеется |