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

  • Автор темы Sermak
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Sermak

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

Sermak

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

CyCaHuH

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

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

62316e

#5
Для: 62316e
Ну а где конец то? Подсказал бы лучше. Не долго же, если знаешь
Конец в гробу:angry: а начяло в RTFM.
Код:
BOOL CharToOem(LPCTSTR lpszSrc, LPSTR lpszDst);
Мистер может вам ищьо примерчик кинуть? :rolleyes:
 
S

Sermak

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

Sermak

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

CyCaHuH

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

Kmet

Java Team
25.05.2006
1 036
8
#10
wcout относится к iostream (как я понял из документации - приставка "w" означает wide, т.е. просто расширяет поток вывода).
Не понял. Что, куда расширяет?

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

CyCaHuH

#11
Цитата из документации к VS 2005:
The object controls insertions to the standard output as a wide stream.
Насколько я понимаю это и есть расширение канала. Под этим подразумевается ввод/вывод не ASCII, а Unicode'a, в котором присутствует нормальное отображение русского. Если что не так, просьба поправить меня.
 
Статус
Закрыто для дальнейших ответов.