int strcoll(const char *string1, const char *string2);
-1: string1 < string20: string1 = string21: string1 > string2
程式碼
- #include <stdio.h>
- #include <string.h>
- char string1[] = "string1";
- char string2[] = "string2";
- int main(void)
- {
- int result = 0;
- result = strcoll(string1,string2);
- printf("string1 compare with string2.Result:%d\n\n",result);
- result = strcoll(string2,string1);
- printf("string2 compare with string1.Result:%d\n\n",result);
- result = strcoll(string1,string1);
- printf("string1 compare with string1.Result:%d\n\n",result);
- return 0;
- }
執行結果
參考資料
strcoll vs strcmp 差異
strcmp 主要會依序比較bytes,來得到結果。strcoll 會先依據當地的語言進行轉換後再進行比較。主要是避免在一些國家中的字符在比較時會有異常,stack overflow中的說明。
沒有留言:
發佈留言