lstrcmpA 函数 (winbase.h)

比较两个字符字符串。 比较区分大小写。

若要执行不区分大小写的比较,请使用 lstrcmpi 函数。

语法

int lstrcmpA(
  [in] LPCSTR lpString1,
  [in] LPCSTR lpString2
);

参数

[in] lpString1

类型:LPCTSTR

要比较的第一个以 null 结尾的字符串。

[in] lpString2

类型:LPCTSTR

要比较的第二个以 null 结尾的字符串。

返回值

类型:int

如果由 lpString1 指向的字符串小于 lpString2指向的字符串,则返回值为负值。 如果由 lpString1 指向的字符串大于 lpString2指向的字符串,则返回值为正值。 如果字符串相等,则返回值为零。

言论

lstrcmp 函数通过相互检查第一个字符、彼此对第二个字符等来比较两个字符串,直到找到不相等或到达字符串的末尾。

请注意,lpString1lpString2 参数必须以 null 结尾,否则字符串比较可能不正确。

该函数调用 CompareStringEx(使用当前线程区域设置)并从结果中减去 2,以维护用于比较字符串的 C 运行时约定。

用户在设置时或通过控制面板选择的语言(用户区域设置)确定哪个字符串更大(或者字符串是否相同)。 如果未选择任何语言(用户区域设置),系统将使用默认值执行比较。

对于系统的双字节字符集(DBCS)版本,此函数可以比较两个 DBCS 字符串。

lstrcmp 函数使用单词排序,而不是字符串排序。 单词排序处理连字符和撇号的方式不同于它处理非字母数字的其他符号,以确保“coop”和“co-op”等字词一起保留在排序的列表中。 有关单词排序和字符串排序的详细讨论,请参阅 处理应用程序中的排序

安全备注

有关选择比较函数的安全注意事项,请参阅 安全注意事项:国际功能

注意

winbase.h 标头将 lstrcmp 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 winbase.h (包括 Windows.h)
Kernel32.lib
DLL Kernel32.dll

另请参阅

CompareString

CompareStringEx

CompareStringOrdinal

概念

其他资源

参考

字符串

lstrcat

lstrcmpi

lstrcpy

lstrlen