lstrcmp,是計算機用語,用於程式設計。
基本介紹
- 外文名:lstrcmp
- 類型:函式名
- 語法:lstrcmp("e","Z");
- 領域:程式設計
簡介,更多示例,
簡介
在英語語言執行下面的函式返回為-1,該值指示一個小寫 e 小於大寫的 Z:
lstrcmp("e","Z");
這是個字元,並使用 ASCII 排序字元的順序相反。 但是,它是正確的行為或 lstrcmp()。與真正的詞典,lstrcmp() 相同的方式執行比較。字元進行比較不區分大小寫的方式首先,然後的特定詳細信息進行比較 (例如,大寫與小寫字母)。
lstrcmp() 通過第一個設定了主要和次要的權重來執行其比較。主粗細後該字元的值將轉換為大寫。輔助粗細描述是否字元最初是小寫或大寫。
使用標準的 ASCII 表作為指南 (0...9ABC......XYZabc xyz),lstrcmp 的示例如下:
"A" < "a" < "B" < "b"
"aaa"<"aaa"<"Aab"
在第一個示例中"A"小於"a",因為: 這兩個字元都轉換為大寫。
主要的權重比較,並且找到相等。
因為主權重相等,輔助權重進行比較。然後,決定"A"小於"a",因為"a"是更高 ASCII 圖表中。
此外在第一個示例中"a"小於"B",因為: 這兩個字元都轉換為大寫。
主要的權重進行比較,並且確定 A 小於 B ASCII 圖表上。執行沒有輔助粗細比較。
在第二個示例中"aaa"小於"aaa"下面"A"和"一"的比較結果中顯示相同的邏輯。
當兩個字元進行比較和相等、 這被稱為一個"衝突,並且"延遲比較"將執行使用輔助的粗細。
更多示例
e,a --> E,A --> E>A = 1 e,e --> E,E --> E=E = 0 Because they are equal, the case is checked (secondary weight). e,z --> E,Z --> E<Z = -1 e,A --> E,A --> E>A = 1 e,E --> E,E --> E=E = 1 Because they are equal, the case is checked (secondary weight). e,F --> E,F --> E<F = -1
如果希望通過使用區分大小寫的 ASCII 值排序使用 C 運行時函式 strcmp() 或 _fstrcmp()。
此外,基於遠東 Windows 的應用程式採用此字典排序以英文和本地語言的方法。
有關與非字母字元一起使用的排序順序的詳細信息,帶重音符號的字元和國際的語言中的字元查詢該知識庫中的以下文字:
lstrcmpi 和國際和排序