#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;
}