Русский интерфейс в Dev-C++
Вот уж не думал, что буду писать статью и делать видео по этой теме. Мне казалось, что такой вопрос никогда ни у кого не может возникнуть. Ан нет. Я ошибся. Такой вопрос возник у одного из читателей. А если он возник у одного, то может возникнуть и у других. Поэтому я и решил написать эту статью. А вопрос, собственно, следующий:
Как установить русский интерфейс в среде разработки Dev-C++
То есть как сделать так, чтобы все надписи в меню и диалоговых окнах были на русском языке.
Сделать это можно двумя способами:
-
.
- Через настройки программы, если Dev-С++ уже установлена.
Если вас заинтересовала эта статья, то, скорее всего, при установке вы выбрали другой язык.
В этом случае установить русский язык можно так:
1) В меню TOOLS выбрать ENVIRONMENT OPTIONS.
2) В открывшемся окне выбрать вкладку INTERFACE.
3) В списке LANGUAGE выбрать RUSSIAN.
4) Нажать кнопку ОК.

Всё. Теперь вам будет более понятно то, что я рассказываю в своих книгах и статьях.
Ну а если вам потребуется вновь изменить эти настройки, то в русском интерфейсе путь будет таким:
Русский язык в исходном коде в Dev C++ [дубликат]
то получается абракадабра! А если перебираю символы циклом, то русские буквы отображаются правильно. Я думаю проблема в различии кодировок dos и windows. Кто знает какие-нибудь примочки для Dev C++ (типа keycyr для pascal) или операторы/функции/процедуры C++ позволяющие сменить кодировку std::cout.
![]()
С setlocale() по науке правильно, но если локализация кривовата (как у меня на этой машине), то не работает.
В Windows есть 2 функции, CharToOem(char, char) и OemToChar(char, char) для перевода cp-1251 в cp-866 (консоль) и обратно.
В программе набрано в cp-1251 (она же ANSI).
При вводе с консоли, независимо от setlocale() придется переводить кодировку. Также обратите внимание, что параметры командной строки, набранные в консоли поступают в программу в кодировке cp-1251.
Кодировка в файлах обычно подразумевается в cp-1251 , это надо учитывать при переадресации ( > ) вывода ( stdout , stderr ). Я продемонстрировал в примере, как это можно делать.
UPDATE
@insolor дал замечательный ответ как правильно программировать работу с русскими буквами в консоли Windows, используя стандартные функции
SetConsoleCP(1251) и SetConsoleOutputCP(1251) .
В обсуждении (комментариях) к его ответу можно найти различные детали, в частности установку русского шрифта.
Похоже его ответ прошел незамеченным для некоторых участников форума. Поэтому я решил привести функцию, вызов которой в самом начале упрощает программирование ввода/вывода русских букв в Windows и пример ее использования.
Вызов fflush(stdout) при работе с консолью (tty) необязателен, однако для вывода в некоторых эмуляторах терминала (например в Emacs eshell) необходим.
Это пример компиляции (Windows 7, Emacs eshell) окно в cp1251 поэтому вывод русского текста и до и после cons1251() одинаковый (и правильный).
К сожалению для стандартного cmd-окошка Copy/Paste не работает, так что попробуйте сами.
Для окна с PowerShell в Win 7 этот метод к сожалению не работает (в отличие от «геморройного» CharToOem / OemToChar ).
Надеюсь этот текст окажется кому-то полезным.
UPDATE 2 (for @Rules)
Исходный файл tt.cpp
Пример вывода из эмулятора терминала Emacs eshell. Поэтому первый «Привет. » тоже состоит из нормальных букв. В обычной консоли там «кракозябры», а дальше нормальная кириллица.
Обращаю особое внимание. Перед запуском надо изменить шрифт в консоли на Lucida Console. Иначе будут кракозябры (но другие). Для замены шрифта кликаете правой кнопкой на надписи «Командная строка» окна консоли. В открывшемся меню выбираете «Свойства». В появившемся окне выбираете вкладку «Шрифт» и там выбираете «Lucida Console». Потом подтверждаете, что попросит.
Если при подтверждении выбрать пункт «Изменить ярлык для запуска этого окна», то новые окна командной строки будут уже с нужным шрифтом.
Как выбрать английский язык в Dev-C++

Даже если текст в среде разработки нечитаемый, можно догадаться какие пункты меню выбрать.

После того, как выбрали English (Original) и нажали кнопку OK всё должно получиться (рисунок ниже).

Подключаем к консольному приложению отладчик UniMons
Проверял на Dev-Cpp, MSVC, TCC, Borland C++ (Си и C++ компиляторах). Предполагаю, что это возможно сделать для языка Pascal и всех тех, что позволяют…
Dev_Cpp_5_11_portable + SFML_2.2
Чем новее, тем лучше. Версия 22 апреля: https://yadi.sk/d/pwVT0HXszh_W2w Содержит две версии GCC компилятора: MinGW GCC 4.6.2 (32 bit) и TDM-GCC…
Подключение файлов ( *.cpp , *.h , *.rc ) в среде разработки Dev-C++
Достаточно одной картинки, чтобы понять весь процесс подключения к Вашему проекту: 1) Файлов реализации ( c, cpp ) 2) Заголовочных файлов ( h ) 3)…
ЧаВо = Часто задаваемые Вопросы
Как настроить русский язык в консольных программах?
В консольных приложениях (похожих на текстовый режим) русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что вместо русских букв вы увидите «кракозябры». Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Сделайте следующее:
-
, содержащий программы gccrus.exe и g++rus.exe (193 Кб).
- Скопируйте программы gccrus.exe и g++rus.exe в папку C:\Dev-Cpp\bin (если при установке оболочки вы указали другой каталог вместо стандартного C:\Dev-Cpp, скопируйте программы в его подкаталог bin).
- Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
- Перейдите на вкладку Программа и исправьте названия двух первых программ так, как показано на рисунке.
Примечание от Ю. Проценко: Если программа при запуске не обнаруживает библиотеки libintl-8.dll и libiconv-2.dll, их нужно поместить в каталог C:\WINDOWS\SYSTEM32.
Как писать простые графические программы?
Для того, чтобы подключить модуль для работы с графикой, сделайте следуюшее:
-
, содержащий файлы graphics.h (заголовочный файл) и libbgi.a (библиотека). Размер архива 53 Кб.
- Скопируйте файл graphics.h в папку C:\Dev-Cpp\include.
- Скопируйте файл libbgi.a в папку C:\Dev-Cpp\lib.
- Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
- Перейдите на вкладку Компилятор, включите флажок Добавить эти команды к командной строке компоновщика и добавьте в окно под этим флажком строчку
-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
После выполнения этих действий вы можете использовать команды для рисования графических примитивов (отрезков, прямоугольников, окружностей и т.д.), так же, как раньше в Turbo C и Borland C++. Полное описание команд (на английском языке) можно найти на странице Михаэля Майна.
Вот так выглядит простейшая программа, которая выводит на экран отрезок из точки (0,0) (это левый верхний угол окна) в точку (50,50) и ждет нажатия на любую клавишу: