StrCmpLogicalW function (shlwapi.h)
Compares two Unicode strings. Digits in the strings are considered as numerical content rather than text. This test is not case-sensitive.
int StrCmpLogicalW( [in] PCWSTR psz1, [in] PCWSTR psz2 );
A pointer to the first null-terminated string to be compared.
A pointer to the second null-terminated string to be compared.
- Returns zero if the strings are identical.
- Returns 1 if the string pointed to by psz1 has a greater value than that pointed to by psz2.
- Returns -1 if the string pointed to by psz1 has a lesser value than that pointed to by psz2.
This function's ordering schema differs somewhat from StrCmpI, which also compares strings without regard to case sensitivity. Considering digits by their numerical value—as StrCmpLogicalW does—strings are ordered as follows:
2string 3string 20string st2ring st3ring st20ring string2 string3 string20
StrCmpI considers digits in the string only as text so that those same strings are ordered as follows:
20string 2string 3string st20ring st2ring st3ring string2 string20 string3
|Minimum supported client||Windows XP [desktop apps only]|
|Minimum supported server||Windows Server 2003 [desktop apps only]|
|DLL||Shlwapi.dll (version 5.5 or later)|