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

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

Войти
Регистрация
Восстановить пароль
 
anton123123q
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 31
#1

Указатель и снова про русский язык в консоли - C++

16.11.2015, 22:00. Просмотров 277. Ответов 4
Метки нет (Все метки)

Здравствуйте.Указатель не возвращает русские буквы. Пишу что то на русском, возвращает набор символов, на анг все норм.
Как можно исправить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
#include <fstream>
#include <string>
using namespace std;
 string *EnterWord(string *word)
 {
     cin>> *word;
     return word;
    
 }
int main()
{
   setlocale(LC_ALL,"Russian");
   string word;
   cout << word;
   system("pause"); 
   return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2015, 22:00     Указатель и снова про русский язык в консоли
Посмотрите здесь:

Русский язык в консоли - C++
Здравствуйте.У меня следующая проблема:Когда я записываю русский текст в текстовый файл в файле появляется абра-кадабра какая-то.Как...

Русский язык в консоли - C++
Здравствуйте. Чего-то не разберусь с русским языком. setlocale(LC_ALL,&quot;RUSSIAN&quot;); и setlocale(LC_ALL,&quot;1251&quot;); - классно. Мне...

Русский язык в консоли - C++
При вводе русских букв в консоль (cin &gt;&gt; a), функция просто не работает, завершается return, я попробовал использовать SetConsoleCP(1251);...

Русский язык в консоли Qt 5.3 - C++
помогите пожалуйста

Русский язык в консоли - C++
Здраствуйте, у меня такой вот вопрос: Почему когда я пишу текст на русском языке в программе C++ Builder 2009, то в моей программе вместо...

Русский язык в консоли - C++
Здравствуйте! Перепробовал все способы в соответствующей теме - ничего не работает. Пишу в QtCreator(без использования Qt как...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shonrens
15 / 15 / 4
Регистрация: 06.06.2015
Сообщений: 99
17.11.2015, 00:52     Указатель и снова про русский язык в консоли #2
У меня линукс не смогу проверить но так должно работать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
void  EnterWord(string &s)
 {
     getline(cin, s);
     cout << s << endl;
 }
int main()
{
   string word;
   EnterWord(word);
 
   return 0;
}
ALucky
16 / 16 / 7
Регистрация: 02.09.2015
Сообщений: 37
17.11.2015, 01:43     Указатель и снова про русский язык в консоли #3
Тут дело не в указателе. setlocale позволяет только ВЫВОДИТЬ русские символы. Я покопался на форуме (что следовало сделать Вам, вообще-то) и мне удалось обеспечить ВВОД русских символов, если вместо setlocale написать
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Только ещё необходимо подключить windows.h.
На форуме так же нашёл ссылки на пару статей на тему кодировок. Сам ещё не читал, но должно быть полезно.
anton123123q
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 31
17.11.2015, 15:40  [ТС]     Указатель и снова про русский язык в консоли #4
Я пробовал вводить
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
, но тогда совсем все на непонятных символа и вводит и выводит, не читает русский язык.
Да и ещё заметил, что даже без указателя не читает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2015, 02:05     Указатель и снова про русский язык в консоли
Еще ссылки по теме:

Русский язык в консоли - C++
для работы с русским языком использую: #include &lt;locale&gt; setlocale(LC_CTYPE, &quot;Russian&quot;); но в програме мне нужно вводить через...

Русский язык в консоли - C++
Как сделать запись в файл и чтение с него русскими буквами а не иероглифами?

Русский язык в консоли - C++
Допустим вот код cout &lt;&lt; &quot;Помогите пожалуйста!&quot;; Пробовал и setlocale и &lt;windows.h&gt;. Проблема в том что вместо русских букв он...

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

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

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


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

Или воспользуйтесь поиском по форуму:
ALucky
16 / 16 / 7
Регистрация: 02.09.2015
Сообщений: 37
18.11.2015, 02:05     Указатель и снова про русский язык в консоли #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
anton123123q,
Введите
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
И #include<Windows.h> и ещё находясь в консоле, нажмите на левый верхний угол окошка, там в свойствах выберите вместо точечных шрифтов другой. Тогда всё идёт.

Добавлено через 1 час 51 минуту
anton123123q,
Второй вариант, менее удобный, но не требующий изменять шрифт консоли (ну мало ли по какой-то причине этого сделать нельзя)
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <locale>
......
locale programLoc(".1251");
locale consoleLoc(".866");
 
//Каждый раз когда нужно вывести русские буквы, которые были написаны в программе
locale::global(programLoc);
//Вывод
 
//Каждый раз когда нужно вывести русские буквы, которые были написаны с консоли
locale::global(consoleLoc);
//Вывод
В общем, каждый раз когда нужно менять используемую страницу кодов, т.к. консоль использует одну страницу кодов, а программа другую.
Ну и вообще, можете сами почитать вот в этой статье. И ту статью, которая на пост ниже тоже.
Yandex
Объявления
18.11.2015, 02:05     Указатель и снова про русский язык в консоли
Ответ Создать тему
Опции темы

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