Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

wcin, wcout в CBuider 5

535
15 февраля 2010 года
Нездешний
537 / / 17.01.2008
Кому-нибудь удавалось заставить работать wcin, wcout в CBuider 5?
Простейший код выдает ерунду
 
Код:
#include <iostream.h>
using namespace std;

int mai()
{
    wchar_t Symbol;
    wcin >> Symbol;
    wcout << Symbol;
    return 0;
}
Выводит 'П' независимо от введенного символа и языка

Гугл выдал (отсюда)
Цитата:
Удивительно, но мне не удалось заставить работать стандартные широкие потоки в системе C++ Builder 6.
На экран просто ничего не выводится, хотя никаких ошибок ни при трансляции, ни при сборке не диагностируется.



UPD Блин, MinGW 3.4.5 в составе Code::Blocks тоже, оказывается, не поддерживает юникодную часть STL. Засада!

Kogrom, ты, кажется, прилаживал к Code::Blocks MinGW поновее. Если заглянешь сюда, расскажи вкратце, как это делается, пожалуйста :)
И работают ли там wcin, wcout :)

87
15 февраля 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: Нездешний
UPD Блин, MinGW 3.4.5 в составе Code::Blocks тоже, оказывается, не поддерживает юникодную часть STL. Засада!

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;
}

работает корректно. Но, вроде бы были трудности передать русский текст из программы таким путём wcout << L"Русский текст" - вероятно недоэкспериментировал с кодировками файлов с кодом :)

Для проверки кода я использовал не текущую версию этого компилятора, а того, что был раньше. Вот тут моя сборка:
https://code.google.com/p/codeblocks-mix/downloads/list
16K
22 февраля 2010 года
asmforce
186 / / 05.01.2010
А консольной проге пох, что char, что wchar_t!
Нужно вначале добавить:

std::locale::global( std::locale("RUS") );
Ну или как-то так, иначе будет ерунда на выходе. (Точно в коде могу ошибаццо - давно было дело)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог