Функция lstrcmpi


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

Синтаксис

int lstrcmpi(      

    LPCTSTR lpString1,
    LPCTSTR lpString2
);

Параметры

lpString1

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

lpString2

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

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

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

Замечания

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

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

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

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

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

Для некоторых языков стран функция lstrcmpi может оказаться недостаточной. Если это происходит, то используйте функцию CompareString, чтобы гарантировать правильное сравнение строк. Например, в Японии вызов функции с флажками NORM_IGNORECASE, NORM_IGNOREKANATYPE и NORM_IGNOREWIDTH, достигает самого неадекватного, неточного сравнения строк. Значения NORM_IGNOREKANATYPE и NORM_IGNOREWIDTH игнорируются в неазиатских языках, таким образом Вы можете установить эти флажки для всех языков и гарантированно иметь культурно корректную "нечувствительную" сортировку независимо от языка страны.

Обратите внимание!, что определение этих значений замедляет исполнение задания, так что используйте их только тогда, когда необходимо.

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

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

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

Пример

Пример смотри в статье Получение версии системы.

Смотри также

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

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

К 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.
Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz