Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
#1

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

29.11.2012, 00:27. Просмотров 1648. Ответов 8
Метки нет (Все метки)

для работы с русским языком использую:

#include <locale>
setlocale(LC_CTYPE, "Russian");

но в програме мне нужно вводить через cin>> руские буквы
как результат записываются другие буквы, тоесть:

C++
1
2
3
char symbol;
cin>>symbol;//к примеру ввожу букву ц руского языка
cout<<symbol;//выводится ж
откровенный бред, что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 00:27     Русский язык в консоли
Посмотрите здесь:

Не показывает русский язык при выводе в консоли - C++
Добрый день. Подскажите вроде бы подключил русский язык, но при выводе в консоли строки введенной из клавиатуры, вместо русского языка...

Указатель и снова про русский язык в консоли - C++
Здравствуйте.Указатель не возвращает русские буквы. Пишу что то на русском, возвращает набор символов, на анг все норм. Как можно...

Русский язык в консоли, класс, вектор с типом класса - C++
Добрый вечер. Написала класс. Сделала вектор с типом класса. Вектор хранит объекты класса. Добавляю в вектор элементы....

Не отображается русский язык в консоли даже с популярными решениями - C++
Здравствуйте! Подскажите, пожалуйста, почему не отображается русский язык в консоли, даже после установки русской локали или изменения...

Русский язык в CMD - C++
Подскажите пожалуйста команду, для ввода/вывода русского текста в CMD...

Cout и русский язык - C++
Когда пытаюсь вывести в консоль русские слова выводит какую-то чепуху.Это нормально? Пользуюсь Code::Blocks.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OKS_by_V
1 / 1 / 0
Регистрация: 15.05.2011
Сообщений: 78
29.11.2012, 00:44     Русский язык в консоли #2
Попробуй так
C++
1
2
3
4
system("chcp 1251"); //или std::locale::global(std::locale(""));
char symbol;
cin>>symbol;//к примеру ввожу букву ц руского языка
cout<<symbol;//выводится ж
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
29.11.2012, 00:55  [ТС]     Русский язык в консоли #3
не помогло
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,603
29.11.2012, 01:00     Русский язык в консоли #4
C++
1
setlocale (LC_ALL, "RUS.UTF-8");
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
29.11.2012, 01:08  [ТС]     Русский язык в консоли #5
Цитата Сообщение от HidForce Посмотреть сообщение
Код C++
1
setlocale (LC_ALL, "RUS.UTF-8");
не то
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,603
29.11.2012, 01:10     Русский язык в консоли #6
Цитата Сообщение от slipp1 Посмотреть сообщение
не то
Не может быть! У меня все работает! Попробуйте скомпилировать вот этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "RUS.UTF-8");
 
    char a;
 
    cin >> a;
    cout << a;
 
 
    return 0;
}
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
29.11.2012, 01:32  [ТС]     Русский язык в консоли #7
с твоимм кодом в консоли вводит и выводит нормально но если в программе через cout<<"привет" - выводит бред

Добавлено через 6 минут
заработало в таком варианте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
 
int main()
{
    //для работы с русским текстом
    // установить вручную шрифт Lucida Console в свойствах окна консоли 
    // и запомнить это для всех окон с этим именем
    system("chcp 1251");
 
    cout<<"привет"<<endl;
    
    char a;
    cin>>a;
    cout<<a<<endl;
    return 0;
}
Добавлено через 4 минуты
еще работает вот этот вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
#include<math.h>
#include<windows.h>
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOemA(text, bufRus);
      return bufRus;
      }
int main()  {
    cout << Rus("Привет ,Лопух!")<< endl;
    system("pause");
    char a;
    cin>>a;
    cout<<a<<endl;
    return 0;
    
}
Добавлено через 36 секунд
что самое обидное - непонятно как они рабботают...
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,603
29.11.2012, 01:42     Русский язык в консоли #8
Цитата Сообщение от slipp1 Посмотреть сообщение
еще работает вот этот вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
#include<math.h>
#include<windows.h>
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOemA(text, bufRus);
      return bufRus;
      }
int main()  {
    cout << Rus("Привет ,Лопух!")<< endl;
    system("pause");
    char a;
    cin>>a;
    cout<<a<<endl;
    return 0;
    
}
Добавлено через 36 секунд
что самое обидное - непонятно как они рабботают...
CharToOem - функция, которая преобразовывает строку в ANSI кодировку.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 11:33     Русский язык в консоли
Еще ссылки по теме:

Не работает русский язык - C++
Если выбрать в свитче 2 или 4 варианты (ввод вручную) и рассчитать их, то когда будет рассчитывать выдаст что-то типа этого: 1) , …¤г Ї®...

Русский язык в программе - C++
Что нужно сделать что бы можно было использовать русский язык в программе #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;map&gt; ...

русский язык в MS VS 2008 - C++
что подключить для того, чтобы в консольных приложениях отображался русский язык (MS VS 2008)?

Русский язык для С++. - C++
Начал изучаь С++ и хотелось бы испольсовать в своих (приметиных ) программах русский язык. Вот программа ,которая выводи сообщение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SEvg
85 / 85 / 1
Регистрация: 16.10.2012
Сообщений: 305
29.11.2012, 11:33     Русский язык в консоли #9
Переходите на Линукс, и всё будет нормально работать...

Без всяких заморочек в консоли русские буквы выводит, если исходник сохранён в кодировке UTF-8
Yandex
Объявления
29.11.2012, 11:33     Русский язык в консоли
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru