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) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |