Пишу несложный двух-панельный файловый менеджер, для себя. На Python+C/PDCurses. Чтобы работал и в среде Linux, и в среде Windows.
Когда-то написал уже, но исходники потерял. Сейчас восстанавливаю код.
Вот такой кусок под виндой не работает:
unsigned char *s;
#define MAXBUF 255
wchar_t buf[MAXBUF];
PyArg_ParseTuple(args, "es", "utf-8", &s);
printf("%02X %02X\n", s[0], s[1]);
setlocale(LC_ALL,"ru_RU.UTF-8");
mbstowcs(buf,s,MAXBUF); // see http://www.linux.org.ru/forum/development/504868#comment-504900
printf("%02X %02X\n", buf[0], buf[1]);
wchar_t buf2[] = L"Тест";
printf("%04X %04X\n", buf2[0], buf2[1]);
$ ./lc.py
D0 A2
422 435
0422 0435
$ ./lc.py
D0 A2
D0 A2
0422 0435
Проблема - в MinGW32?
Что-то подобное говорили на ЛОРе здесь:
вопрос про wchar_t (комментарий)
(«Если интерисует переносимость в Windows то есть проблемы с mingw»)