compareStringOrdinal 函数 (stringapiset.h)
比较两个 Unicode 字符串以测试二进制等效性。
语法
int CompareStringOrdinal(
[in] _In_NLS_string_(cchCount1)LPCWCH lpString1,
[in] int cchCount1,
[in] _In_NLS_string_(cchCount2)LPCWCH lpString2,
[in] int cchCount2,
[in] BOOL bIgnoreCase
);
参数
[in] lpString1
指向要比较的第一个字符串的指针。
[in] cchCount1
lpString1 指示的字符串的长度。 如果字符串以 null 结尾,则应用程序提供 -1。 在这种情况下, 函数会自动确定长度。
[in] lpString2
指向要比较的第二个字符串的指针。
[in] cchCount2
lpString2 指示的字符串的长度。 如果字符串以 null 结尾,则应用程序提供 -1。 在这种情况下, 函数会自动确定长度。
[in] bIgnoreCase
如果函数要使用操作系统的大写表信息执行不区分大小写的比较,则为 TRUE。 如果函数将字符串与传入字符串完全进行比较,则应用程序会将此参数设置为 FALSE 。 请注意,1 是唯一可用于指定此布尔参数不会导致无效参数错误的 true 值的数值。 此参数的布尔值按预期工作。
返回值
如果成功,则返回以下值之一。 若要保持比较字符串的 C 运行时约定,可以从非零返回值中减去值 2。 然后,0、==0 和 >0 的含义<与 C 运行时一致。
- CSTR_LESS_THAN。 lpString1 指示的值小于 lpString2 指示的值。
- CSTR_EQUAL。 lpString1 指示的值等于 lpString2 指示的值。
- CSTR_GREATER_THAN。 lpString1 指示的值大于 lpString2 指示的值。
- ERROR_INVALID_PARAMETER。 任何参数值都无效。
注解
此函数测试二进制相等性,而不是语言相等性。 有关使用 函数进行序号排序的信息,请参阅 在应用程序中处理排序。
与语言相等相关的应用程序应使用 CompareString、 CompareStringEx、 lstrcmp 或 lstrcmpi。 有关语言排序的详细信息,请参阅 在应用程序中处理排序
从 Windows 8 开始: CompareStringOrdinal 在 Stringapiset.h 中声明。 在 Windows 8 之前,它在 Winnls.h 中声明。
要求
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | stringapiset.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |