Русский язык в консоли C++

Опубликовано: 26.08.2019

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

К примеру, если мы напишем такой код на С++

#include <iostream>
using namespace std;
int main()
{
    cout << "Русский текст в консоли" << endl;
    return 0;
}

То после компиляции, вот что будет выдавать нам консольное окно программы. 

Консоль с кракозябрами

Если же мы будем использовать функцию setlocale() внутри функции main()

#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "Русский текст в консоли" << endl;
    return 0;
}

То получим вместо иероглифов нормальный русский шрифт, вуаля:

 Нормальный русский текст

Также, можно опустить последний аргумент функции — setlocale(LC_ALL, "Russian"); можно заменить на setlocale(0, ""); — работоспособность программы от этого не изменится.

Просмотров: 47