Раздел: Статьи / Язык С++ / Средства разработки / Dev-C++ /

Русский язык в консольном приложении С++

Быстрый старт в С++ Быстрый старт в С++

Бесплатная небольшая книга, которую не надо читать полгода, но которая покажет вам, что такое С++ и как начать его изучение. А также поможет решить, надо ли вам это вообще. Кроме того, подписавшись на рассылку, вы будете получать от меня полезные материалы по С++, которые я периодически выпускаю... Подробнее...

Я уже рассказывал об одном способе вывода русских букв в консольных приложениях, созданных в Dev-C++ (см. здесь). Однако у этого способа есть два недостатка:

  • Он довольно замысловатый, и требует выполнения нескольких действий: скачивания и замены файлов, настроек компилятора и т.п.
  • Он не работает в Dev-C++ для Windows 10.

Есть и другие недостатки. Но этих уже достаточно для того, чтобы попробовать что-то другое.

Итак, известная многим неприятность: вывод в консоль английских букв не вызывает затруднений, но при попытке вывести русские буквы на экране мы видим “краказябры”:

Краказябры

Причём обратите внимание, что надпись “для продолжения нажмите любую клавишу…” отображается правильно. Это означает, что консоль в принципе может выводить русские буквы. Вот только программа на С++ почему-то этого не делает.

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

#include <iostream>

using namespace std;

int main()
{
  //Устанавливаем русскую локаль
  setlocale(LC_ALL, "Russian");

  cout << "Привет, МИР!";

  cout << endl;
  system("PAUSE");
}

И всё. После этого русские буквы должны отображаться правильно. Ну а если этого почему-то не происходит, то здесь уже надо разбираться с конкретной операционной системой.

Если что-то не получается, то см. видео:


Все способы изучить С++ Все способы изучить С++

Начинающие программисты даже не догадываются о том, какой огромный пласт в этой области скрыт от их глаз, и чего многие из новичков не увидят никогда, потому что это тёмная сторона программирования - чистый исходный код системного уровня… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика