StrCmpNCA function (shlwapi.h)

Compares a specified number of characters from the beginning of two strings using C run-time (ASCII) collation rules. The comparison is case-sensitive.

Syntax

int StrCmpNCA(
  [in] LPCSTR pszStr1,
  [in] LPCSTR pszStr2,
       int    nChar
);

Parameters

[in] pszStr1

Type: LPCTSTR

A pointer to the first null-terminated string to be compared.

[in] pszStr2

Type: LPCTSTR

A pointer to the second null-terminated string to be compared.

nChar

Type: int

The number of characters from the beginning of each string to be compared.

Return value

Type: int

Returns zero if the substrings are identical. Returns a positive value if the string taken from that pointed to by pszStr1 is alphabetically greater than the string taken from that pointed to by pszStr2. Returns a negative value if the string taken from that pointed to by pszStr1 is alphabetically less than the string taken from that pointed to by pszStr2.

Remarks

Note that StrCmpNC was designed for comparing canonical strings. These strings are not localized and consist only of characters below ASCII value 128. Therefore, it will not function correctly with a double-byte character set (DBCS) or other multiple-character data.

This function locates the first unequal characters and returns a positive number if the character from the first string is greater than the character from the second, a negative number if it is less, or zero if they are equal. For example, suppose that pszStr1="abczb", pszStr2="abcdefg", and you are comparing the first four characters from each. StrCmpNC determines that the first unequal character is at position four ("z" in pszStr1 and "d" in pszStr2) and returns a positive value since the ASCII code for "z" is greater than the ASCII code for "d".

For those versions of Windows that do not include StrCmpNC in Shlwapi.h, this function's individual ANSI or Unicode version must be called directly from Shlwapi.dll. StrCmpNCA is ordinal 151 and StrCmpNCW is ordinal 152.

Note

The shlwapi.h header defines StrCmpNC as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional, Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (version 5.0 or later)

See also

CompareString

StrCmpC

StrCmpN