Дуже-дуже корисний tip
May. 10th, 2009 12:50 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Колись я вже цікавився темою локалей. Сьогодні LOR вирішив одну з найбільших моїх проблем при роботі з локалями у C++.
Re: std::cout вместе с std::wcout
во первых - установите локали, и для C и для C++
во вторых - установите локаль для потоков ввода-вывода
и в третьих - отсоедините потоки ввода-вывода C++ от потоков ввода-вывода C библиотеки
Джерело: http://www.linux.org.ru/view-message.jsp?msgid=3691230#3691831
Re: std::cout вместе с std::wcout
во первых - установите локали, и для C и для C++
// set up locale std::clog << "libc locale: " << std::setlocale(LC_ALL, "") << std::endl; // setup C rtl locale std::locale::global(std::locale("")); // setup C++ rtl global default locale std::clog << "std C++ locale: " << std::locale().name() << std::endl;
во вторых - установите локаль для потоков ввода-вывода
std::cout.imbue(std::locale()); std::cerr.imbue(std::locale()); std::clog.imbue(std::locale()); std::wcout.imbue(std::locale()); std::wcerr.imbue(std::locale()); std::wclog.imbue(std::locale());
и в третьих - отсоедините потоки ввода-вывода C++ от потоков ввода-вывода C библиотеки
// for correct io with wcin/wcout std::ios::sync_with_stdio(false); // not needed if used only w* streams
Джерело: http://www.linux.org.ru/view-message.jsp?msgid=3691230#3691831