Dev c русский язык в консоли
по интегрированой среде Dev-C++
Список вопросов
- Как настроить русский язык в консольных программах?
- Как писать простые графические программы?
- Как работать с графикой в Windows 8/10?
Как настроить русский язык в консольных программах?
В консольных приложениях (похожих на текстовый режим) русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что вместо русских букв вы увидите «кракозябры». Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Сделайте следующее:
- Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
- Перейдите на вкладку Компилятор и добавьте два параметра
-fexec-charset=cp866 -finput-charset=cp1251
как показано на рисунке (см. источник).
- Скачайте архив, содержащий программы gccrus.exe и g++rus.exe (193 Кб).
- Скопируйте программы gccrus.exe и g++rus.exe в папку C:Dev-Cppin (если при установке оболочки вы указали другой каталог вместо стандартного C:Dev-Cpp, скопируйте программы в его подкаталог bin).
- Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
- Перейдите на вкладку Программа и исправьте названия двух первых программ так, как показано на рисунке.
Примечание от Ю. Проценко: Если программа при запуске не обнаруживает библиотеки libintl-8.dll и libiconv-2.dll, их нужно поместить в каталог C:WINDOWSSYSTEM32.
Как писать простые графические программы?
Для того, чтобы подключить модуль для работы с графикой, сделайте следуюшее:
- Скачайте архив, содержащий файлы graphics.h (заголовочный файл) и libbgi.a (библиотека). Размер архива 53 Кб.
- Скопируйте файл graphics.h в папку C:Dev-Cppinclude.
- Скопируйте файл libbgi.a в папку C:Dev-Cpplib.
- Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
- Перейдите на вкладку Компилятор, включите флажок Добавить эти команды к командной строке компоновщика и добавьте в окно под этим флажком строчку
-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
Чтобы выводить русский текст в графическом режиме, в окне Сервис-Параметры компилятора на вкладке Программы нужно установить программы по умолчанию gcc.exe и g++.exe:
После выполнения этих действий вы можете использовать команды для рисования графических примитивов (отрезков, прямоугольников, окружностей и т.д.), так же, как раньше в Turbo C и Borland C++. Полное описание команд (на английском языке) можно найти на странице Михаэля Майна.
Вот так выглядит простейшая программа, которая выводит на экран отрезок из точки (0,0) (это левый верхний угол окна) в точку (50,50) и ждет нажатия на любую клавишу:
![]() |
Программы, работающие с графикой в таком режиме, должны обрабатываться компилятором языка C++, для этого проще всего сделать у них расширение имени файла *.cpp. |
![]() |
В программах, которые не работают с графикой, флажок Добавить эти команды к командной строке компоновщика нужно отключать, иначе при завершении программы будет появляться сообщение об ошибке. |
Как работать с графикой в Windows 8/10?
Спасибо П.Ф. Муль, который прислал ссылку на эту инструкцию.
Проблема состоит в том, что устаревшая версия Bloodshed Dev-C++ 4.9.9.2 не работает в операционных системах Windows 8/10.
Полная инструкция по установке современной версии Dev-C++ и подключению модуля работы с графикой пожно посмотреть на видео How to Make Graphics in Dev C++ on Windows 10.
Для того, чтобы подключить модуль для работы с графикой в Windows 8/10, сделайте следуюшее:
Вы наверное не раз пытались вывести в консольное приложение русский текст, но вместо него выводились разные кракозябры.
К примеру, если мы напишем такой код на С++
То после компиляции, вот что будет выдавать нам консольное окно программы.
Если же мы будем использовать функцию setlocale() внутри функции main()
То получим вместо иероглифов нормальный русский шрифт, вуаля:
Также, можно опустить последний аргумент функции — setlocale(LC_ALL, "Russian"); можно заменить на setlocale(0, ""); — работоспособность программы от этого не изменится.
При изучении языка C++ и программировании под Windows довольно часто возникают вопросы по поводу отображения русских букв в консоли. Вывод и ввод русских букв сопровождается выводом и вводом каких-то кракозябр или иероглифов. В интернете можно найти довольно много советов, но большая часть советов, которые мне попались, не помогали в решении проблемы.
Возникла проблема с отображением русских букв
Если нужно быстрое решение данной проблемы, то можно сразу пролистать вниз, ибо сначала я расскажу о том, как возникла эта проблема у меня и о том, как я искал решение.
На языке C++ программирую под ОС Linux, использую компилятор GCC. С проблемой неправильного отображения русских букв я не сталкивался. В момент написания статьи я нахожусь далеко от своего компьютера, могу довольствоваться лишь скромненьким ноутбуком с установленной ОС Windows Seven. Захотелось покодить и я установил на него интегрированную среду разработки Dev-C++ 5.10(использует компилятор TDM-GCC 4.8.1 на базе GCC 4.8.1). Кстати, она уже официально не поддерживается, но существует форк Orwell Dev-C++, который обновляется по сей день. Установив, я запустил и для пробы написал простую программку, которая отображает текст «Привет, мир!». Но поздороваться она с миром так и не смогла, а лишь сказала что-то непонятное на древнеегипетском. После перелопачивания некоторых форумов и сайтов я нашел множество советов, но основная масса не способна была решить её полностью, образовывались подводные камни о которых расскажу далее.
После написания, компиляции и запуска такой программы: