Dev c русский язык в консоли

по интегрированой среде Dev-C++

Список вопросов

  1. Как настроить русский язык в консольных программах?
  2. Как писать простые графические программы?
  3. Как работать с графикой в Windows 8/10?

Как настроить русский язык в консольных программах?

В консольных приложениях (похожих на текстовый режим) русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что вместо русских букв вы увидите «кракозябры». Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Сделайте следующее:

  1. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  2. Перейдите на вкладку Компилятор и добавьте два параметра
    -fexec-charset=cp866 -finput-charset=cp1251
    как показано на рисунке (см. источник).

  1. Скачайте архив, содержащий программы gccrus.exe и g++rus.exe (193 Кб).
  2. Скопируйте программы gccrus.exe и g++rus.exe в папку C:Dev-Cppin (если при установке оболочки вы указали другой каталог вместо стандартного C:Dev-Cpp, скопируйте программы в его подкаталог bin).
  3. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  4. Перейдите на вкладку Программа и исправьте названия двух первых программ так, как показано на рисунке.

Примечание от Ю. Проценко: Если программа при запуске не обнаруживает библиотеки libintl-8.dll и libiconv-2.dll, их нужно поместить в каталог C:WINDOWSSYSTEM32.

Как писать простые графические программы?

Для того, чтобы подключить модуль для работы с графикой, сделайте следуюшее:

  1. Скачайте архив, содержащий файлы graphics.h (заголовочный файл) и libbgi.a (библиотека). Размер архива 53 Кб.
  2. Скопируйте файл graphics.h в папку C:Dev-Cppinclude.
  3. Скопируйте файл libbgi.a в папку C:Dev-Cpplib.
  4. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  5. Перейдите на вкладку Компилятор, включите флажок Добавить эти команды к командной строке компоновщика и добавьте в окно под этим флажком строчку

-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++, который обновляется по сей день. Установив, я запустил и для пробы написал простую программку, которая отображает текст «Привет, мир!». Но поздороваться она с миром так и не смогла, а лишь сказала что-то непонятное на древнеегипетском. После перелопачивания некоторых форумов и сайтов я нашел множество советов, но основная масса не способна была решить её полностью, образовывались подводные камни о которых расскажу далее.

После написания, компиляции и запуска такой программы:


[an error occurred while processing the directive]
Карта сайта