Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Simix Гость
|
Добавлено: Ср Июл 16 2003 11:37 Заголовок сообщения: Не работает wprintf c Unicode - строкой ?! |
|
|
Народ, посмотрите - не могу понять в чём фишка - тривиальный код:
#define _UNICODE #define UNICODE #include #include
#define _WIN32_WINNT 0x0500
void wmain(int argc, wchar_t *argv[]) { wprintf(L"\n --- Ищем Юзверя: ...\n"); }
Как ни удивительно, на консоль вывод прекращается на первой русской букве. Т.е. мы увидим только " --- ". В чём засада? На консоль нельзя печатать Юникод? Не верю! |
|
Вернуться к началу |
|
|
Demon_XEXE
Зарегистрирован: 16.07.2003 Сообщения: 2
|
Добавлено: Ср Июл 16 2003 12:01 Заголовок сообщения: Re: Не работает wprintf c Unicode - строкой ?! |
|
|
Вполне возможна некорректное преобразование в юникод русского текста используй специальные функции (например MultiByteToWideChar) позволяющие задавать исходную кодовую страницу |
|
Вернуться к началу |
|
|
saskin
Зарегистрирован: 05.08.2003 Сообщения: 6
|
Добавлено: Ср Июл 16 2003 13:16 Заголовок сообщения: Re: Не работает wprintf c Unicode - строкой ?! |
|
|
смотри функцию fwide http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=f wide&category=3
еще в ketnel.dll есть функция SetConsoleMode и много чего для прямой работы с консолью, мож поможет |
|
Вернуться к началу |
|
|
Simix Гость
|
Добавлено: Ср Июл 16 2003 13:26 Заголовок сообщения: Re: Не работает wprintf c Unicode - строкой ?! |
|
|
Не, компилятор правильно скомпилировал всё - я смотрел Эту строку в памяти. Наверно просто когда печатаешь Юникод в консоль, надо приводить всё к АNSI. А может ещё мысли будут? |
|
Вернуться к началу |
|
|
Demon_XEXE
Зарегистрирован: 16.07.2003 Сообщения: 2
|
Добавлено: Чт Июл 17 2003 07:05 Заголовок сообщения: Re: Не работает wprintf c Unicode - строкой ?! |
|
|
Используй setlocale(LC_ALL, "russian_russia.cp1251"); |
|
Вернуться к началу |
|
|
|