Полная версия этой страницы:
Русский текст в проге.
Подскажите, пожалуйста, как сделать, чтобы программа на Borland C++ 5.1 выводила русские символы. Например инструкция cout<<"русский текст"; ни фига не выводит этот самый текст.
Для начяла тему делать надо там где надо.
Для: 62316e
Ну а где конец то? Подсказал бы лучше. Не долго же, если знаешь
Попробуй прописать следующее:
setlocale(LC_ALL,"russian_russia.866"); //замена ASCII на юникод в сообщениях
wcout << L "текст на русском"; //вывод теперь надо будет оформлять так.
Это тестировалось под MS VS.NET '03, по идее должно идти и под Борлондом - попробуй.
Цитата
Для: 62316e
Ну а где конец то? Подсказал бы лучше. Не долго же, если знаешь
Конец в гробу

а начяло в RTFM.
BOOL CharToOem(LPCTSTR lpszSrc, LPSTR lpszDst);
Мистер может вам ищьо примерчик кинуть?
Спасибо. CharToOem работает, а вот с setlocale() проблема, компилятор не идентифицирует wcout (я подключил "locale.h" "include.h" "dos.h" может еще какой файл нужно?
Для: Kmet
Я <iostream.h> тоже разумеется подключал, он все равно не работает. Можа там еще чего вводить надо?
CyCaHuH
12:06:2006, 13:55
Да нет, тут ничего прописывать больше не надо, т.к. wcout относится к iostream (как я понял из документации - приставка "w" означает wide, т.е. просто расширяет поток вывода).
Походу это не общая для всех компиляторов функция... Как я писал выше, тестил я ее под VS.NET, поэтому она запросто может не работать под борландом... Кстати, есть еще один вариант вывода кириллицы: Console::WriteLine("текст по русски"); Но он, по-моему, устарел...
Цитата
wcout относится к iostream (как я понял из документации - приставка "w" означает wide, т.е. просто расширяет поток вывода).
Не понял. Что, куда расширяет?
typedef basic_ostream<wchar_t, char_traits<wchar_t> > wostream;
extern wostream wcout;
Вообще-то поддержка UNICODE определяется стандартом(самого стандарта под рукой не оказалось, но почему-то я в этом уверен, да и мсдн wcout описан не как Microsoft Specified). Так что и борланд должен определять этот поток. Хотя может 5.1 больно древний компилятор или это очередной ляп борланда.
CyCaHuH
16:06:2006, 16:56
Цитата из документации к VS 2005:
Цитата
The object controls insertions to the standard output as a wide stream.
Насколько я понимаю это и есть расширение канала. Под этим подразумевается ввод/вывод не ASCII, а Unicode'a, в котором присутствует нормальное отображение русского. Если что не так, просьба поправить меня.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.