考虑这段代码:
#include <wchar.h>
#include <locale.h>
#include <stdio.h>
int main(void) {
setlocale(LC_ALL, "pl_PL.UTF-8");
printf("%d\n", wcscoll(L"ą", L"b"));
return 0;
}
输出是
158
但我希望它是-1
,因为 ą 就在波兰字母表中的 b 之前。为什么返回 158?如果不是这样,怎么能按字母顺序比较单词呢?