C++: Русский язык в консоли
Все, кто начинает программировать на С++ сталкиваются с такой неприятностью — по-русски в консоли не напишешь. C одной стороны это может быть и хорошо — английский подучишь, но это все-таки снизит ваше внимание, и вам будет сложно разбираться в своей же программе. Исправляет эту досадность всего одна строчка кода:
Это надо написать внутри любой функции.
Все гениальное просто.
UPD Уфф. Я нашел способ, влияющий на введенный текст.
Есть 2 способа:
1. Если у вас Visual Studio, то:
2. А если у вас другая IDE(Codeblocks, Dev C++) то:
Вывод: Винда — говно, а это решение — непростое, потому что нет в винде ничего гениального. :p
Вы наверное не раз пытались вывести в консольное приложение русский текст, но вместо него выводились разные кракозябры.
К примеру, если мы напишем такой код на С++
То после компиляции, вот что будет выдавать нам консольное окно программы.
Если же мы будем использовать функцию setlocale() внутри функции main()
То получим вместо иероглифов нормальный русский шрифт, вуаля:
Также, можно опустить последний аргумент функции — setlocale(LC_ALL, "Russian"); можно заменить на setlocale(0, ""); — работоспособность программы от этого не изменится.
int main()
<
setlocale(LC_ALL, "rus");
// TODO:
using namespace std;
void main()
<
locale loc("rus");
cout.imbue(loc);
cout > actual; // вводим в консоль "Превед"