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中的說明。
沒有留言:
發佈留言