#include <iostream.h>
using namespace std;
int mai()
{
wchar_t Symbol;
wcin >> Symbol;
wcout << Symbol;
return 0;
}
wcin, wcout в CBuider 5
Простейший код выдает ерунду
Код:
Гугл выдал (отсюда)
Цитата:
Удивительно, но мне не удалось заставить работать стандартные широкие потоки в системе C++ Builder 6.
На экран просто ничего не выводится, хотя никаких ошибок ни при трансляции, ни при сборке не диагностируется.
На экран просто ничего не выводится, хотя никаких ошибок ни при трансляции, ни при сборке не диагностируется.
UPD Блин, MinGW 3.4.5 в составе Code::Blocks тоже, оказывается, не поддерживает юникодную часть STL. Засада!
Kogrom, ты, кажется, прилаживал к Code::Blocks MinGW поновее. Если заглянешь сюда, расскажи вкратце, как это делается, пожалуйста :)
И работают ли там wcin, wcout :)
Цитата: Нездешний
UPD Блин, MinGW 3.4.5 в составе Code::Blocks тоже, оказывается, не поддерживает юникодную часть STL. Засада!
Kogrom, ты, кажется, прилаживал к Code::Blocks MinGW поновее. Если заглянешь сюда, расскажи вкратце, как это делается, пожалуйста :)
И работают ли там wcin, wcout :)
Kogrom, ты, кажется, прилаживал к Code::Blocks MinGW поновее. Если заглянешь сюда, расскажи вкратце, как это делается, пожалуйста :)
И работают ли там wcin, wcout :)
Я приделывал вот эту "левую" сборку:
http://www.tdragon.net/recentgcc/
Такой код:
Код:
#include <iostream>
using namespace std;
int main()
{
wchar_t Symbol;
wcin >> Symbol;
wcout << Symbol;
return 0;
}
using namespace std;
int main()
{
wchar_t Symbol;
wcin >> Symbol;
wcout << Symbol;
return 0;
}
работает корректно. Но, вроде бы были трудности передать русский текст из программы таким путём wcout << L"Русский текст" - вероятно недоэкспериментировал с кодировками файлов с кодом :)
Для проверки кода я использовал не текущую версию этого компилятора, а того, что был раньше. Вот тут моя сборка:
https://code.google.com/p/codeblocks-mix/downloads/list
Нужно вначале добавить:
std::locale::global( std::locale("RUS") );
Ну или как-то так, иначе будет ерунда на выходе. (Точно в коде могу ошибаццо - давно было дело)