c - wcscoll returns different result than expected -
consider code:
#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; } the output is
158 but i'd expect -1, since ą before b in polish alphabet. why did return 158? , if not in way, how can 1 compare words alphabetically?
i tried in linux machine , 1 output, positive yours.
then edited supported locales @ /etc/locale.gen, uncommented pl_pl.utf-8 (not enabled default), run sudo locale-gen , gives -4, negative, expected.
the conclusion system configuration, is, not support selected locale.
Comments
Post a Comment