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

Ввод/вывод с использование русского языка - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 51, средняя оценка - 4.84
homiCID
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 6
10.02.2013, 18:34     Ввод/вывод с использование русского языка #1
Мне нужно ввести с клавиатуры строку на русском языке (например:"Я живу в России") и вывести её также. Как это сделать? Я сколько не пытался - не получается. Читал на форумах, но так и не нашел решения. Заранее спасибо за помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
10.02.2013, 18:38     Ввод/вывод с использование русского языка #2
Русские шрифты в консоли

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <string>
int main (){
    std::string str;
    std::cout<<"enter string: ";
    std::getline(std::cin,str);
    std::cout<<str<<std::endl;
    return 0;
}
Kins
 Аватар для Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
10.02.2013, 19:00     Ввод/вывод с использование русского языка #3
C++
1
2
3
char ch;
cin >>ch;
cout <<ch;
Добавлено через 21 минуту
Цитата Сообщение от Kins Посмотреть сообщение
C++
1
2
3
char ch;
cin >>ch;
cout <<ch;
сорри, фигню сморозил=)
homiCID
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 6
10.02.2013, 19:19  [ТС]     Ввод/вывод с использование русского языка #4
я это видел уже. попробуй напиши программу, как я описал. буду признателен, если сюда скинешь.

Добавлено через 8 минут
ааааааа все понял. Спасибо))
MegaMozg
 Аватар для MegaMozg
44 / 44 / 1
Регистрация: 19.12.2008
Сообщений: 110
10.02.2013, 19:21     Ввод/вывод с использование русского языка #5
для работы с русским языком в консоли нужно установить соответствующую "локаль"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <locale>
 
using namespace std;
 
int main()
{
 
    // устанвливаем русскую локаль для консоли
    setlocale(LC_ALL,"Russian");
 
 
    return 0;
}
Kins
 Аватар для Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
10.02.2013, 19:30     Ввод/вывод с использование русского языка #6
можно просто так setlocale(LC_ALL,"")
NIch
 Аватар для NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
10.02.2013, 19:34     Ввод/вывод с использование русского языка #7
Как вариант небольшая функция...не помню где взял...но хорошо работает.
Архив содержит cpp и h файлы функций:
C++
1
2
string ToDosStr(string input);
string ToWinStr(string input);
Пример использования:
C++
1
cout << ToDosStr("Введите число Y:");
Вложения
Тип файла: rar 1.rar (718 байт, 45 просмотров)
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
20.02.2013, 02:09     Ввод/вывод с использование русского языка #8
Цитата Сообщение от Kins Посмотреть сообщение
можно просто так setlocale(LC_ALL,"")
Дело не в локали а кодировке и шрифте консоли.
В исходниках Windows cp1251 а в консоли cp866. Поэтому нужно коде менять кодировку
system(chcp 1251);
А в самой консоли в свойствах поставить шрифт Lucida Console
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 02:16     Ввод/вывод с использование русского языка #9
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,361
Записей в блоге: 4
20.02.2013, 03:35     Ввод/вывод с использование русского языка #10
По-моему, то, что вы введете с консоли по-русски, будет отображено при выводе тоже русскими буквами.
Конечно, для этого нужно, чтобы в операционной системе был установлен русский язык.
Никаких ухищрений не нужно. Переключайте раскладку и вводите. Пример программы приведен в самом первом ответе.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 03:58     Ввод/вывод с использование русского языка
Еще ссылки по теме:

C++ Подключение русского языка
В консоли вместо русского языка выводятся вопросительные знаки C++
Неверное считывание символов русского языка C++

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
20.02.2013, 03:58     Ввод/вывод с использование русского языка #11
Блин да я же уже сказал в винде разные кодировки .... консоль использует OEM - кодировку, в то время как блокноты и редакторы кода cp1251
Yandex
Объявления
20.02.2013, 03:58     Ввод/вывод с использование русского языка
Ответ Создать тему
Опции темы

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