Русский текст в проге.

Тема в разделе "C и С++ FAQ", создана пользователем Sermak, 4 июн 2006.

Статус темы:
Закрыта.
  1. Sermak

    Sermak Гость

    Подскажите, пожалуйста, как сделать, чтобы программа на Borland C++ 5.1 выводила русские символы. Например инструкция cout<<"русский текст"; ни фига не выводит этот самый текст.
     
  2. 62316e

    62316e Гость

    Для начяла тему делать надо там где надо.
     
  3. Sermak

    Sermak Гость

    Для: 62316e
    Ну а где конец то? Подсказал бы лучше. Не долго же, если знаешь
     
  4. CyCaHuH

    CyCaHuH Гость

    Попробуй прописать следующее:
    setlocale(LC_ALL,"russian_russia.866"); //замена ASCII на юникод в сообщениях
    wcout << L "текст на русском"; //вывод теперь надо будет оформлять так.

    Это тестировалось под MS VS.NET '03, по идее должно идти и под Борлондом - попробуй.
     
  5. 62316e

    62316e Гость

    Конец в гробу:angry: а начяло в RTFM.
    Код (Text):
    BOOL CharToOem(LPCTSTR lpszSrc, LPSTR lpszDst);
    Мистер может вам ищьо примерчик кинуть? :rolleyes:
     
  6. Sermak

    Sermak Гость

    Спасибо. CharToOem работает, а вот с setlocale() проблема, компилятор не идентифицирует wcout (я подключил "locale.h" "include.h" "dos.h" может еще какой файл нужно?
     
  7. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    Header: <iostream>
     
  8. Sermak

    Sermak Гость

    Для: Kmet
    Я <iostream.h> тоже разумеется подключал, он все равно не работает. Можа там еще чего вводить надо?
     
  9. CyCaHuH

    CyCaHuH Гость

    Да нет, тут ничего прописывать больше не надо, т.к. wcout относится к iostream (как я понял из документации - приставка "w" означает wide, т.е. просто расширяет поток вывода).
    Походу это не общая для всех компиляторов функция... Как я писал выше, тестил я ее под VS.NET, поэтому она запросто может не работать под борландом... Кстати, есть еще один вариант вывода кириллицы: Console::WriteLine("текст по русски"); Но он, по-моему, устарел...
     
  10. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    Не понял. Что, куда расширяет?

    Код (Text):
    typedef basic_ostream<wchar_t, char_traits<wchar_t> > wostream;
    extern wostream wcout;
    Вообще-то поддержка UNICODE определяется стандартом(самого стандарта под рукой не оказалось, но почему-то я в этом уверен, да и мсдн wcout описан не как Microsoft Specified). Так что и борланд должен определять этот поток. Хотя может 5.1 больно древний компилятор или это очередной ляп борланда.
     
  11. CyCaHuH

    CyCaHuH Гость

    Цитата из документации к VS 2005:
    Насколько я понимаю это и есть расширение канала. Под этим подразумевается ввод/вывод не ASCII, а Unicode'a, в котором присутствует нормальное отображение русского. Если что не так, просьба поправить меня.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей