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

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

Восстановить пароль Регистрация
 
zlodeyxgm
0 / 0 / 1
Регистрация: 08.09.2015
Сообщений: 40
27.05.2016, 08:10     Вывод русского текста в консоли #1
Ребят для курсового проекта требуется реализовать ввод русских букв, сколько уже не мучался с этим итог нулевой.

Пробовал
setlocale(0,"Rus"); и отельные команды на Input и Output Set.....
Когда я ввожу текст, то после он выводит мне обычные символы, как будто ошибка в кодировке.
Можете подсказать, как это поправить?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
27.05.2016, 12:00     Вывод русского текста в консоли #2
Может быть в настройках самой командной строки(cmd.exe) стоит шрифт, не поддерживающий кириллицу?
Unknownx
27.05.2016, 16:13
  #3

Не по теме:

Цитата Сообщение от zlodeyxgm Посмотреть сообщение
etlocale(0,"Rus"); и отельные команды на Input и Output Set.....
- потому что так русифицируется только вывод а ввод нет.

Геомеханик
 Аватар для Геомеханик
517 / 324 / 253
Регистрация: 26.06.2015
Сообщений: 738
27.05.2016, 23:12     Вывод русского текста в консоли #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <clocale>
 
int main(void){
    std::locale rus("rus_rus.866");
    std::wcout.imbue(rus);
    std::wcin.imbue(rus);
 
    std::wcout << L"Введите что-нибудь: ";
    
    wchar_t s[64];
    std::wcin.getline(s, sizeof(s)/sizeof(s[0]));
    std::wcout << L"ЭХО: " << s << std::endl;
 
    std::wcin.get();
    return 0;
}
Unknownx
28.05.2016, 10:36
  #5

Не по теме:

Цитата Сообщение от Геомеханик Посмотреть сообщение
std::locale rus("rus_rus.866");
- аналогично установке .866 локали (rus_rus там вообще ни к чему) setlocale(LC_CTYPE, ".866"); В любом случае использование wchar_t и .866 локали - уже нормальный способ руссификации.

VaniaRud
 Аватар для VaniaRud
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 27
Завершенные тесты: 1
30.05.2016, 21:12     Вывод русского текста в консоли #6
C++
1
setlocale(LC_ALL,"Russian");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2016, 16:09     Вывод русского текста в консоли
Еще ссылки по теме:

Вывод форматированного текста в MFC Visual C++
Listbox вывод текста Visual C++
Некорректный вывод массива в консоли Visual C++

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

Или воспользуйтесь поиском по форуму:
MeFiSTiK
 Аватар для MeFiSTiK
1 / 1 / 0
Регистрация: 06.06.2016
Сообщений: 7
21.07.2016, 16:09     Вывод русского текста в консоли #7
C++
1
2
3
4
5
6
7
#include <windows.h> // подключаем библиотеку
int main(){
  SetConsoleCP(1251)
  SetConsoleOutputCP(1251)
/*Ваша программа*/
    return 0;
}
Пользуюсь этим способом, т.к. если русский текст выводится через переменную, то консолька его не понимает через Setlocale
Yandex
Объявления
21.07.2016, 16:09     Вывод русского текста в консоли
Ответ Создать тему
Опции темы

Текущее время: 14:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru