Вопрос в том, как это сделать на Windows. На Linux-е это просто
setlocale(LC_CTYPE, "");
//а потом wprintf ...
На Windows такое не катит.
Желательно, чтобы вышло как-то так.
#ifdef __linux__
setlocale(LC_CTYPE, "");
#elif defined _WIN32
//Windows
#else
Нужно для вывода кириллицы, иероглифов и т. п.
Нужен именно wchar_t
P. S. MinGW gcc -dumpversion 4.8.1
P. P. S. На MS Visual C++ 2010 работает ответ 1 (без stdafx.h)
Ответ
О мой бог, cygwin мне помог... -- говорил когда-то святой Георгий.
Cygwin выручил и меня!
#ifdef __linux__
setlocale(LC_CTYPE, "");
#elif defined _WIN32
//Windows
#else
Теперь и этого не надо!
Просто
setlocale(LC_CTYPE, "");
Работает и на Linux, и на Windows (cygwin1.dll).
Версия компилятора g++: 4.9.2
Версия Windows: XP SP3
Комментариев нет:
Отправить комментарий