Использую Microsof Visual C++ для компилирования исходников своих программ...раньше использовал lcc compiler. но везде одна проблема :когда запускаю программу там каракули вместо рус яза.рылся в кодировках и шрифтах Windows xp, рылся в настройках компилятора(в хэлпах информации не нашел), но так и не смог исправить. не то что б уже это было так важно, но раздражает сильно. Где собака зарыта, как сделать чтоб рус яз нормально выводился в консольных приложениях написанных на С++ ?
shurik Функция CharToOem помогла Открой консоль (cmd). Набери "chcp 1251<Enter>". Запусти программу. Набери "chcp 866<Enter>". Запусти программу. В одном из случаев букарашки? Ivan_assm как сделать чтоб рус яз нормально выводился в консольных приложениях Надо выводить текст в той кодовой странице, которая установлена в консоли. Например, можно использовать следующие решения: 1) используя SetConsoleOutputCP установить ту кодовую страницу, в которой был набран исходный текст, если в visual studio, то 1251, если в far’е, то 866; 2) используя GetConsoleOutputCP получить кодовую страницу консоли, если она совпадает с той, в которой набран исходный текст, то просто вывод, иначе конвертировать текст перед выводом.
Гораздо проще использовать нормальный редактор, поддерживающий альтернативную кодировку. Или если ну никак нельзя без студии, вынести объявления строк в другой файл, создаваемый другим редактором и инклудить его в основной исходник.
Нет. Определения строк хранить в отдельном файле в нормальной кодировке, который создавать нормальным редактором. strings.inc Код (Text): message[]="sample message",13,10,0 prog.c Код (Text): #include "strings.inc" printf(message) А лучше пользоваться одним нормальным редактором, т.к. при написании консольных прог студийная рисовалка форм не используется, а более она ни за чем не нужна. А ещё лучше писать на ассемблере
Писать надо на том, на чем удобно) И что больше подходит для решения задачи. А кодировка тут не при чем
Ivan_assm Я, при проблемах с русской кодировкой в консоле, использовал старые драйвера под ДОС типа keyb.com (которые позволяют отоьражать кирилицу). Единсвенное, надо было писать в кодировке не Windows, а OEM DOS и каждый раз загружать драйвер