Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/267: Рейтинг темы: голосов - 267, средняя оценка - 4.72
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
1

Русские буквы в консоли

12.08.2012, 22:54. Просмотров 51675. Ответов 8
Метки нет (Все метки)

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


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>   
#include <string>
#include <conio.h> 
using namespace std;
 
 
int main() 
{
setlocale(LC_ALL,"Rus"); //локализация
string name; //переменная
cin>>name; //ввожу русские буквы в переменную
cout<<name;  //мне выводятся непонятные каракули
getche();
}

Что посоветуете?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.08.2012, 22:54
Ответы с готовыми решениями:

Русские буквы консоли
Знаю что таких тембыло очень много, но у меня никак не получается вывести слово &quot;Привет&quot; в консоли....

Русские буквы в консоли на Microsoft Visual C++ 6.0
Как по проше можно вывисти русские буквы в консоли на Microsoft Visual C++ 6.0. такой способ не...

Как вывести русские буквы в заголовок консоли?
Использую такую конструкцию: setlocale(LC_ALL, &quot;Russia&quot;); static const TCHAR* myTitle =...

В консоли не выводятся русские буквы.Появляются непонятные символы
Нужно написать программу-приветствие,фамилия/имя/отчество вводятся с клавиатуры #include...

8
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
12.08.2012, 22:57 2
Вместо
C++
1
setlocale(LC_ALL,"Rus");
Напиши
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
И поставь в консоле шрифт Lucida Console.

Еще добавить
C++
1
#include "windows.h"
2
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
12.08.2012, 23:03  [ТС] 3
Цитата Сообщение от Intel~lect Посмотреть сообщение
Вместо
C++
1
setlocale(LC_ALL,"Rus");
Напиши
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
И поставь в консоле шрифт Lucida Console.

Еще добавить
C++
1
#include "windows.h"
А как поставить шрифт?

Добавлено через 2 минуты
Все поменял.. но теперь когда я ввожу русские буквы они просто вводятся каракулями, то есто еще до занесения данных в переменную
2
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
12.08.2012, 23:04 4
Цитата Сообщение от Egor138 Посмотреть сообщение
А как поставить шрифт?
Правой кнопкой мыши по заголовку и выбери "Свойство", потом вкладку "Шрифт". На скрине показал
1
Миниатюры
Русские буквы в консоли  
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
12.08.2012, 23:08 5
Цитата Сообщение от Egor138 Посмотреть сообщение
но теперь когда я ввожу русские буквы они просто вводятся каракулями, то есто еще до занесения данных в переменную
Да нет. Такого не должно быть. Может что неправильно сделал? У меня все нормально выводится
0
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
12.08.2012, 23:11  [ТС] 6
Цитата Сообщение от Intel~lect Посмотреть сообщение
Да нет. Такого не должно быть. Может что неправильно сделал? У меня все нормально выводится
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>   
#include <string>
#include <conio.h> 
#include "windows.h"
using namespace std;
 
 
int main() 
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string name;
cin>>name;
cout<<name;
getche();
}
Вроде все правильно, но теперь просто не могу ввести название, неговоря уже о выводе переменной

Добавлено через 1 минуту
А нельзя как нибудь проверить на каком языке я ввожу данные? Или автоматически поменять расскладку и заблокировать русскую?
1
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
12.08.2012, 23:19 7
Цитата Сообщение от Egor138 Посмотреть сообщение
#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>
#include "windows.h"
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string name;
cin>>name;
cout<<name;
getche();
}
Эта программа правильно работает. Только что проверил. И вводит по русски и выводит
А вот как проверить какой язык, это я точно не знаю.
1
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
12.08.2012, 23:28  [ТС] 8
Спасибо)
0
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
12.08.2012, 23:41 9
CharToOem & OemToChar
 Комментарий модератора 
Тема закрыта!


Добавлено через 31 секунду
Русские шрифты в консоли
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2012, 23:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сделать, чтобы в консоли отображались русские буквы, а не кракозябры
Собственно вместо русских букв выдает кракозябры. Шрифт Lucida. Как пофиксить? #include...

Почему чтобы корректно отображались русские буквы в консоли, мало изменить кодировку
Последнее-то что даёт? Имеем: printf (&quot;sы&quot;);на выходе- s&lt;кракозябр&gt; а почему? смотрим, что у нас в...

Русские шрифты в консоли
всем привет. Я новичек, и у меня такой вопрос. Как написать сообщение с русскими буквами, чтоб...

Русские слова в консоли
Здравствуйте,как сделать так что бы в консоли отображались слова setlocale(0,&quot;rus&quot;); я сделала,но...


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

Или воспользуйтесь поиском по форуму:
9
Закрытая тема Создать тему
Опции темы

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