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

71 комментерий

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

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

#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, ""); — работоспособность программы от этого не изменится.

Подробный мануал по кириллице в консоли Windows.

Комментарии к статье: 71

Подождите, загружаются комментарии...

Возможность комментировать эту статью отключена автором. Возможно, во всем виновата её провокационная тематика или большое обилие флейма от предыдущих комментаторов.

Если у вас есть вопросы по содержанию статьи, рекомендуем вам обратиться за помощью на наш форум.