PDA

Показать полную графическую версию : MS + C++ = Kpako3@бJluku, проблемы в консоле с русским


Kleopatra
23-07-2007, 20:45
Банальная ситуация, как сделать чтоб мои проги в MS работало без кракозябликов в консоли

XPEHOMETP
23-07-2007, 22:42
Windows используют ANSI-кодировку (если отвлечься от Unicode), но в консоли все выводится в OEM-кодировке (DOS-овской). Вот так сделано, и поменять ничего нельзя. Поэтому решения могут быть такие:

1. Писать свои программы в редакторе, котрый хорошо понимает русскую ДОСовскую кодировку. Например, BRED (блокнот редактора), KoEdit. А потом это открыть в своей среде разработки и компилировать. Или перенести туда некоторые фрагментики с кириллицей через буфер обмена.

2. Сохранять русский вывод в консоль в виде текстовых переменных и прогнать их через функцию WinAPI CharToOem (http://rsdn.ru/article/qna/ui/concp.xml ).

3. Искать библиотеки сторонних фирм, которые позволяют перехватывать консольный вывод и выводить его в стандартное виндовское окно - уже в кодировке ANSI. Такие вещи, например, делаются в Compaq Visual Fortran.

4. Не пользоваться консолью, делать изначально виндовское приложение и нормально выводить все в ANSI




© OSzone.net 2001-2012