Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы

Уже много лет С/С++ позволяет достаточно безболезненно печатать в консоль wchar_t.
Например на С++ пиши:

locale::global(locale(""));
wcout.imbue(locale());
wcin.imbue(locale());

пользуйся iostream и не горюй... казалось бы... пока где-то не попытаешься воспользоваться не-юникодными cout или printf. Или пока какая-нибудь библиотека не попытается. А вот тогда всё нафиг сломается и дальше нормально печатать будет только ASCII, а весь Юникод будет ломать к чертям!

Вы думаете это компилятор кривой, или библиотека дырявая? Ну как же, такой ведь косяк. Нет ребята, это /by design/: http://stackoverflow.com/questions/8947949/mixing-cout-and-wcout-in-same-program/8957069#8957069

#RAB9IM / @dluciv / 4085 дней назад

> C/ > C/ > C/ в сях с вчарами всё хорошо.
#RAB9IM/5W6 / @l29ah / 4085 дней назад
@l29ah В сях полущ. Кто первый встал, того и тапки, остальных просто вырубает. #include <locale.h> #include <stdio.h> #include <math.h> int main() { setlocale(LC_ALL, "ru_RU.UTF-8"); wprintf(L"W Чиселко M_PI = %f\n", M_PI); printf("A Чиселко M_PI = %f\n", M_PI); wprintf(L"Unicode Юникод\n"); return 0; } По моим наблюдениям работать будет (вполне причём корректно, выдавая запятую в качестве разделителя) либо одно, либо другое, но не оба. fflush(stdout) не помогает.
#RAB9IM/418 / @dluciv --> #RAB9IM/5W6 / 4084 дня назад
@dluciv Хреново у меня с маркдауном, хреново
#RAB9IM/5H4 / @dluciv --> #RAB9IM/418 / 4084 дня назад
@dluciv Правда почитав http://utf8everywhere.org/ вообще понимаешь, что весь мир — бордель.
#RAB9IM/SZ6 / @dluciv --> #RAB9IM/418 / 4084 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.