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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Chernobyl
213 / 213 / 67
Регистрация: 30.09.2012
Сообщений: 542
#1

Вывод русского текста в консоли - C++

04.01.2013, 14:34. Просмотров 1802. Ответов 9
Метки нет (Все метки)

Доброго времени суток.Помогите пожалуйста в таком вопросе.Вот простенькая программа,которой нужно ввести имя,а она выведет Привет,введеное имя. Но проблема в том,что благодаря использваванию setlocale(LC_ALL, "Russian"); или же setlocale(0, ""); вместо того введенного имени выводяться кракозябры...Как сделать так,чтобы выводился нормальный русский текст? У меня Вижуал Студио 2012,винда 7, 64 бит

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# include <iostream>
# include <string>
# include <vector>
# include <algorithm>
# include <cmath>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    string name;
    cout << "Введите имя адресата" << endl ;
    cin >> name;
    cout << "Привет," << name << endl;
    system ("pause");
    return 0;
 
}
0
Миниатюры
Вывод русского текста в консоли  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2013, 14:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод русского текста в консоли (C++):

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

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

Вывод русского языка в консоли - C++
Доброго времени суток, коллеги! Столкнулся с проблемой при написании простенькой программы шифрования/дешифрования текста: после...

Вывод русского текста - C++
Привет, я тут упражнение из книжки делаю. Там класс с переменными, содержащими имя (тип string) и ID работника (long). Я все сделал, но...

Неправильное отображение русского текста в консоли при использовании setlocale(LC_ALL, "Russian") - C++
Ребят, такая ситуация, прописал setlocale(LC_ALL, &quot;Russian&quot;);но в консоли вместо текста на русском-набор букв, в чем может быть...

Вывод текста в поток консоли - C++
Помогите найти функцию для вывода текста в поток консоли помню что она принимает stdout и char* работает вроде как в printf (давно находил...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Stivento
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 17
04.01.2013, 14:43 #2
А обязательно нужен setlocale, я пользуюсь system("chcp 1251")?
0
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
04.01.2013, 14:45 #3
Поможет.

C++
1
2
3
4
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
1
Chernobyl
213 / 213 / 67
Регистрация: 30.09.2012
Сообщений: 542
04.01.2013, 15:08  [ТС] #4
Цитата Сообщение от Afflicted Посмотреть сообщение
Поможет.

C++
1
2
3
4
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);



Благодарю,помогло,сначала не помогло конечно,но подключил еще # include <windows.h> и в строке выставил шрифт Lucida Console и все отлично работает.Благодарю!
0
nonedark2008
908 / 647 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
04.01.2013, 15:44 #5
Чтобы постоянно не менять шрифт в консоли, есть еще один вариант. Надо убрать setlocale, а вместо типа char использовать wchar_t, и соответственно вместо cin и cout использовать wcin и wcout. Также есть куча аналогов функций, которые работают с char, для wchar_t.
0
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
04.01.2013, 15:48 #6
nonedark2008, а постоянно шрифт в консоли и не нужно менять. Можно просто по умолчанию поставить нужный шрифт
0
nonedark2008
908 / 647 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
04.01.2013, 15:50 #7
coloc, но если программу перетащить на другой компьютер, то там тоже придется менять, что не хорошо >_>
0
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
04.01.2013, 16:03 #8
nonedark2008, я не думаю, что эти танцы с бубнами типа wchar_t легче, чем пару кликов мышкою на окне с консолью. Тем более зачем кому то перетащивать свои программы на чужой компьютер? Чтобы похвастаться какой супер инновационный морской бой?
0
nonedark2008
908 / 647 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
04.01.2013, 16:19 #9
Цитата Сообщение от coloc Посмотреть сообщение
Тем более зачем кому то перетащивать свои программы на чужой компьютер?
Ну, например многим для сдачи задания - требуется его отослать преподу на почту. Неужто к письмо придется приписывать, что для нормальной работы программы требуется зайти туда-то, поменять что-то на что-то там и только потом уже запускать программу???
0
Croessmah
Эксперт CЭксперт С++
13202 / 7473 / 839
Регистрация: 27.09.2012
Сообщений: 18,367
Записей в блоге: 3
Завершенные тесты: 1
05.01.2013, 09:34 #10
Цитата Сообщение от nonedark2008 Посмотреть сообщение
но если программу перетащить на другой компьютер, то там тоже придется менять, что не хорошо
Кто мешает программно поменять шрифт?
Цитата Сообщение от nonedark2008 Посмотреть сообщение
Ну, например многим для сдачи задания - требуется его отослать преподу на почту.
Ну если препод не идиот, то всё будет нормально.
А если уж переходить на Юникод, то и консоль загоняйте под UTF-8.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2013, 09:34
Привет! Вот еще темы с ответами:

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

В консоли вместо русского языка выводятся вопросительные знаки - C++
Столкнулся с такой проблемой. В консоли вместо русского языка выводятся вопросительные знаки (???? ?? ??). setlocale(LC_ALL,...

Фильтрация русского текста - C++
есть задача. Создать программу, фильтрующую текст, введенный с клавиатуры. Задача программы заключается в считывании текста и...

ввод русского текста в c++ - C++
при вводе русского вопроса &quot;кто ты?&quot; программа не воспринимает его. и выводит &quot;I can't answer for this question. What is the answer?&quot;. Т.е....


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

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

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