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


Функция StrCmpLogicalW (shlwapi.h)

Сравнивает две строки Юникода. Цифры в строках считаются числовым содержимым, а не текстом. В этом тесте регистр не учитывается.

Синтаксис

int StrCmpLogicalW(
  [in] PCWSTR psz1,
  [in] PCWSTR psz2
);

Параметры

[in] psz1

Тип: PCWSTR

Указатель на первую строку, завершаемую нулевым значением, для сравнения.

[in] psz2

Тип: PCWSTR

Указатель на вторую строку, завершаемую нулевым значением, для сравнения.

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

Тип: int

  • Возвращает ноль, если строки идентичны.
  • Возвращает значение 1, если строка, на которую указывает psz1 , имеет большее значение, чем значение, на которое указывает psz2.
  • Возвращает значение -1, если строка, на которую указывает psz1 , имеет меньшее значение, чем значение, на которое указывает psz2.

Комментарии

Схема упорядочения этой функции несколько отличается от StrCmpI, которая также сравнивает строки без учета учета регистра. Учитывая цифры по числовому значению( как это делает StrCmpLogicalW ), строки упорядочены следующим образом:

2string
3string
20string
st2ring
st3ring
st20ring
string2
string3
string20

StrCmpI рассматривает цифры в строке только как текст, чтобы те же строки были упорядочены следующим образом:

20string
2string
3string
st20ring
st2ring
st3ring
string2
string20
string3
Примечание Поведение этой функции и, следовательно, возвращаемых ею результатов, может изменяться от выпуска к выпуску. Его не следует использовать для канонических приложений сортировки.
 

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 5.5 или более поздняя)