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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
#1

Русские символы в консоли выводятся нормально, латиница - нет - C++

04.02.2014, 16:47. Просмотров 1358. Ответов 20
Метки нет (Все метки)

Добрый день.
Подскажите пожалуйста, столкнулся с следующей проблемой, когда вывожу в консоль русские символы все выводится нормально, пока не начинаю выводить переменные.
К примеру конструкция:
C++
1
cout<<name;
Выведет на экран иероглифы, в то же время когда строка:
C++
1
cout<<"русский текст";
Выведет вполне читаемые русские символы.

Заранее спасибо за помощь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 16:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Русские символы в консоли выводятся нормально, латиница - нет (C++):

Не выводятся русские символы - C++
Программа не может вывести русские символы, но если оставить только функцию main то все отображается нормально #include &lt;iostream&gt; ...

Неправильно считываются русские символы из консоли - C++
упорно не хочет читать русские символы из консоли :( выводятся нормально, а считывает введенные не правильно ! setlocale(LC_ALL,...

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

Русские символы в консоли на другом компьютере - C++
Запускаю .exe консольной программы на другом компьютере - в ответ получаю иероглифы. На другом компьютере нет MSC10, на котором писалась...

Не выводит русские символы в консоли в одном приложении, Code::Blocks - C++
Делаю консольную программу, она должна заменять букву &quot;а&quot; на &quot;у&quot; из введенного текста, проблемы с выводом русского именно в ней (в других...

Нужен совет: Какую библиотетеку подключить, чтобы в консоли русские символы были - C++
Какую библиотетеку подключить что бы в консоли русские символы были ?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 16:52 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
из
C++
1
#include <Windows.h>
+ в свойствах консоли поменяйте шрифт на Lucida Console
0
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
04.02.2014, 16:53 #3
Добавь перед выводом на экран строку: system ("chcp 1251"), и в свойствах окна смени шрифт на Lucida Console
0
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
04.02.2014, 17:05  [ТС] #4
При попытке вставить выше указанные строки я получал я получал иероглифы на выводе.

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

Я пытался задать локаль методом
C++ (Qt)
1
setlocale(0,"");
но результата это не принесло.
0
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 17:14 #5
у меня работает..хотя, конечно же, не факт, что будет работать у вас
P.S. вы точно не забыли поменять шрифт в консоли?
1
Миниатюры
Русские символы в консоли выводятся нормально, латиница - нет  
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 05:25 #6
Цитата Сообщение от kipill Посмотреть сообщение
При попытке вставить выше указанные строки я получал я получал иероглифы на выводе.
Установка шрифта Lucida Console
1
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
05.02.2014, 10:01 #7
Госспади. Но это же частные случаи. Вот же понимание: Русские шрифты в консоли
0
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 11:02  [ТС] #8
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
у меня работает..хотя, конечно же, не факт, что будет работать у вас
P.S. вы точно не забыли поменять шрифт в консоли?
Да поменял, получил противоположный эффект, то что ввожу отображается нормально, а то что статично отображается иероглифами.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 11:06 #9
Среда какая?
0
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 11:09  [ТС] #10
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Госспади. Но это же частные случаи. Вот же понимание: Русские шрифты в консоли
Спасибо, я читал эту тему, но решения не нашел.
Сейчас перечитаю еще раз.

Добавлено через 58 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
Среда какая?
OC Widows, студия Code::Blocks.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 11:12 #11
В Code::Blocks какая кодировка выставлена?
0
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 11:34  [ТС] #12
Цитата Сообщение от alsav22 Посмотреть сообщение
В Code::Blocks какая кодировка выставлена?
А где это посмотреть?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 11:45 #13
...
0
Миниатюры
Русские символы в консоли выводятся нормально, латиница - нет  
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
05.02.2014, 11:48 #14
kipill, а можешь привести минимальный компилирующийся пример кода, позволяющего воспроизвести проблему?
0
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 13:11  [ТС] #15
Цитата Сообщение от CheshireCat Посмотреть сообщение
kipill, а можешь привести минимальный компилирующийся пример кода, позволяющего воспроизвести проблему?
Да , могу.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    string temp;
    cout << "Введите такст" << endl;
    getline(cin,temp);
    cout<<"Вы ввели: "<<temp<<endl;
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 13:11
Привет! Вот еще темы с ответами:

Как на любой версии ОС Windows 10 (ENG / RUS) получить русские символы в консоли ? - C++
Как на любой версии ОС Windows 10 (ENG / RUS) получить русские символы в консоли ? Сижу на ENG Windows 10 + ENG VS 2017. Никакие...

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

Не выводятся русские буквы - C++
#include &lt;iostream&gt; using namespace std; int mul (int x, int y); // прототип функции mul() int main() ...

Широкие символы wchar_t wstring не хотят принимать русские символы - C++
Собственно вопрос в шапке, вот примеры: std::wstring str = L&quot;блин комом&quot;; и такое: wchar_t stroka = L&quot;abcdefghijklmnopqrstuvwxyz...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.02.2014, 13:11
Ответ Создать тему
Опции темы

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