Проблемы с кодировкой в Code::Blocks

Вот изучаю C++ и возникли небольшие трудности с компилятором Code::Blocks.
Ни как не могу сделать так чтобы он выводил все на русском языке.
Что делать даже не представляю.Пытался но ни как не пойму что нужно сделать (или я что то не правильно делаю).
Вот подобие программы))

#include <iostream>
#include <string>
using namespace std;

int main()
{
    setlocale(0,"");
    //Запрашиваемое имя человека.
   std::cout << "Укажите,ваше ФИО: ";
   //Считывание данных.
   std::string name; // Переменная name.
   std::cin >> name; // Извлечение данных их переменной name.

   //Вод возраста.
   std::cout << "Укажите,ваш возраст: ";
   //Считывание данных.
   std::string age; // Переменная age.
   std::cin >> age; // Извлечение данных их переменной age.

   //Ввод места учебы.
   std::cout << "Укажите,место учебы : ";
   //Считывание данных.
   std::string study; // Переменная study.
   std::cin >> study; // Извлечение данных из переменной study.

   //Ввод места работы.
   std::cout << "Укажите,место работы: ";
   //Считывание данных.
   std::string job; // Переменная job.
   std::cin >> job; // Извлечение данных из переменной job.

   //Вывод данных на экран.
   std::cout << "Привет,меня зовут " << name << " мне, " << age << " учусь в " << study << " место работы " << job << "." ;
      return 0;
}

Попробуй setlocale(LC_ALL,"Rus");
или
подключи библиотеку #include <Windows.h>
И вместо setlocale пишем:
SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода
Есть один весомый недостаток у данных функций — они работают со шрифтом Lucida Console. По умолчанию в консоли стоит шрифт Consolas. Поэтому в командной строке необходимо настроить используемый шрифт. Для этого открываем cmd, заходим в свойства, в закладке Шрифт выбираем Lucida Console, нажимаем ОК и на этом настройка завершена.

p.s это подходит под VS 2012, а под Code::Blocks не знаю т.к его не использую. Попробуй может поможет.

setlocale(LC_ALL,«Rus»);
Вот с этой строчкой все работать будет.

подключи библиотеку #include <Windows.h>
И вместо setlocale пишем:
SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода

Спасибо. В Code::Blocks 12.13 заработало (причем, и с Lucinda,и с Consolas). Десяток предыдущих найденных мной методов не работал.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.