lstrcmpi
The lstrcmpi
function compares two character strings. The comparison is not case sensitive.
int lstrcmpi(
LPCTSTR lpString1, |
// address of first
string |
LPCTSTR lpString2 |
// address of
second string |
); |
|
Parameters
lpString1
Points to the
first null-terminated string to be compared.
lpString2
Points to the
second null-terminated string to be compared.
Return Values
If the
function succeeds and the string pointed to by lpString1 is less than
the string pointed to by lpString2, the return value is negative; if the
string pointed to by lpString1 is greater than the string pointed to by lpString2,
it is positive. If the strings are equal, the return value is zero.
Remarks
The lstrcmpi
function compares two strings by checking the first characters against each
other, the second characters against each other, and so on until it finds an
inequality or reaches the ends of the strings.
The function
returns the difference of the values of the first unequal characters it
encounters. For example, lstrcmpi determines that abcz is greater than
abcdefg and returns the difference of z and d.
The language
(locale) selected by the user at setup time, or by using the control panel,
determines which string is greater (or whether the strings are the same). If no
language (locale) is selected, Windows performs the comparison by using default
values.
For some
locales, the lstrcmpi function may be insufficient. If this occurs, use CompareString
to ensure proper comparison. For example, in Japan call CompareString
with the IGNORE_CASE, IGNORE_KANATYPE, and IGNORE_WIDTH values to achieve the
most appropriate non-exact string comparison. The IGNORE_KANATYPE and
IGNORE_WIDTH values are ignored in non-Asian locales, so you can set these
values for all locales and be guaranteed to have a culturally correct
insensitive sorting regardless of the locale. Note that specifying these
values slows performance, so use them only when necessary.
With a
double-byte character set (DBCS) version of Windows, this function can compare
two DBCS strings.
The Win32 lstrcmpi
function uses a word sort, rather than a string sort. A word sort treats
hyphens and apostrophes differently than it treats other symbols that are not
alphanumeric, in order to ensure that words such as coop and co-op stay
together within a sorted list. Note that in 16-bit versions of Windows, lstrcmpi
uses a string sort. For a detailed discussion of word sorts and string sorts,
see the Remarks section of the reference page for the CompareString
See Also