Раздел: Статьи / Язык С++ / Средства разработки / Dev-C++ /
Русский язык в консольном приложении С++
Я уже рассказывал об одном способе вывода русских букв в консольных приложениях, созданных в Dev-C++ (см. здесь). Однако у этого способа есть два недостатка:
- Он довольно замысловатый, и требует выполнения нескольких действий: скачивания и замены файлов, настроек компилятора и т.п.
- Он не работает в Dev-C++ для Windows 10.
Есть и другие недостатки. Но этих уже достаточно для того, чтобы попробовать что-то другое.
Итак, известная многим неприятность: вывод в консоль английских букв не вызывает затруднений, но при попытке вывести русские буквы на экране мы видим “краказябры”:
Причём обратите внимание, что надпись “для продолжения нажмите любую клавишу…” отображается правильно. Это означает, что консоль в принципе может выводить русские буквы. Вот только программа на С++ почему-то этого не делает.
Связано это, разумеется, с различием кодировок в редакторе исходного кода и консоли. Поэтому консольному приложению надо явно указать, что вывод должен происходить в кодировке, в которой консоль сможет отображать русские буквы. Сделать это можно так:
#include <iostream>
using namespace std;
int main()
{
//Устанавливаем русскую локаль
setlocale(LC_ALL, "Russian");
cout << "Привет, МИР!";
cout << endl;
system("PAUSE");
}
И всё. После этого русские буквы должны отображаться правильно. Ну а если этого почему-то не происходит, то здесь уже надо разбираться с конкретной операционной системой.
Если что-то не получается, то см. видео: