#include "windows.h" #include "stdio.h" static char comparison(int r) { switch (r) { case 1: return '>'; case -1: return '<'; case 0: return '='; default: return '!'; } } int wmain(int argc, wchar_t* argv[]) { const wchar_t *s1 = L"\u0631\u062d\u064a\u0645"; const wchar_t *s2 = L"\u0631\u062d\u0640\u0640\u0640\u0640\u0640\u0640\u064a\u0645"; int len; wchar_t c1[13]; wchar_t c2[13]; int result; len = LCMapStringEx(L"es-US", LCMAP_SORTKEY, s1, -1, c1, 13, NULL, NULL, 0); len = LCMapStringEx(L"es-US", LCMAP_SORTKEY, s2, -1, c2, 13, NULL, NULL, 0); result = memcmp(c1, c2, 13); printf("c1 %c c2\n", comparison(result)); result = memcmp(c2, c1, 13); printf("c2 %c c1\n", comparison(result)); return 0; }