С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/425: Рейтинг темы: голосов - 425, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 6
1

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

10.02.2013, 18:34. Показов 77908. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужно ввести с клавиатуры строку на русском языке (например:"Я живу в России") и вывести её также. Как это сделать? Я сколько не пытался - не получается. Читал на форумах, но так и не нашел решения. Заранее спасибо за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2013, 18:34
Ответы с готовыми решениями:

Использование русского языка в DevC++
Пишу программу на С++ (недавно начал изучение). Весь код есть, компиляция проходит успешно,...

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

Ввод и вывод русского языка в консоли а именно в классе
Данный код для вывода и ввода русского языка я использовал в головной функции файла cpp, но в...

Как исправить вывод русского языка
Я скачал программу на сайте хотел запустить и походу не хватает каких то библиотек у меня. ...

13
Неэпический
18112 / 10699 / 2062
Регистрация: 27.09.2012
Сообщений: 26,944
Записей в блоге: 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;
}
1
59 / 58 / 7
Регистрация: 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;
сорри, фигню сморозил=)
0
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 6
10.02.2013, 19:19  [ТС] 4
я это видел уже. попробуй напиши программу, как я описал. буду признателен, если сюда скинешь.

Добавлено через 8 минут
ааааааа все понял. Спасибо))
0
45 / 45 / 3
Регистрация: 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;
}
2
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
10.02.2013, 19:30 6
можно просто так setlocale(LC_ALL,"")
2
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,119
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 байт, 72 просмотров)
1
Эксперт С++
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.02.2013, 02:09 8
Цитата Сообщение от Kins Посмотреть сообщение
можно просто так setlocale(LC_ALL,"")
Дело не в локали а кодировке и шрифте консоли.
В исходниках Windows cp1251 а в консоли cp866. Поэтому нужно коде менять кодировку
system(chcp 1251);
А в самой консоли в свойствах поставить шрифт Lucida Console
0
5499 / 4894 / 831
Регистрация: 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
3
4256 / 2952 / 688
Регистрация: 08.06.2007
Сообщений: 9,859
Записей в блоге: 4
20.02.2013, 03:35 10
По-моему, то, что вы введете с консоли по-русски, будет отображено при выводе тоже русскими буквами.
Конечно, для этого нужно, чтобы в операционной системе был установлен русский язык.
Никаких ухищрений не нужно. Переключайте раскладку и вводите. Пример программы приведен в самом первом ответе.
1
Эксперт С++
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.02.2013, 03:58 11
Блин да я же уже сказал в винде разные кодировки .... консоль использует OEM - кодировку, в то время как блокноты и редакторы кода cp1251
0
2 / 2 / 0
Регистрация: 04.01.2017
Сообщений: 77
22.02.2017, 21:01 12
спасибо брат выручил меня!
0
22 / 22 / 7
Регистрация: 01.02.2017
Сообщений: 54
Записей в блоге: 1
22.02.2017, 22:45 13
Цитата Сообщение от homiCID Посмотреть сообщение
Мне нужно ввести с клавиатуры строку на русском языке
Очень правильное намерение. Целиком и полностью согласен, всё должно быть по-русски, и ввод и вывод. Попробуй вот эту функцию в Wind'е:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// устанавливает кириллицу в консоли
 
void SetConsole(const wchar_t *pszTitle = NULL, BOOL bFullScreen = FALSE)
{
    CONSOLE_FONT_INFOEX font;
    HANDLE hStdOut = NULL;
 
    // кодовая страница
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    // шрифт
    font.cbSize = sizeof font;
    font.nFont = 1;
    font.dwFontSize = { 9, 18 };
    font.FontFamily = 0 | FF_DONTCARE & ~TMPF_FIXED_PITCH;
    font.FontWeight = FW_NORMAL;
    wcscpy_s(font.FaceName, LF_FACESIZE, L"Lucida Console");
 
    // установка шрифта
    hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    if(!SetCurrentConsoleFontEx(hStdOut, FALSE, &font))
        printf("SetConsole: ошибка! Невозможно установить шрифт: %s.\n", FormatErrorMessage(GetLastError()).c_str());
 
    // заголовок и полный экран...
    if(pszTitle)
        SetConsoleTitleW(pszTitle);
    if (bFullScreen)
//      SendMessage(GetConsoleWindow(), WM_SYSCOMMAND, SC_MAXIMIZE, 0);
        ShowWindow(GetConsoleWindow(), SW_MAXIMIZE);
}
Возьми вот этот проект VS-2015. Если у тебя более ранняя версия, скопируй все *.h и *.cpp файлы в свой проект. Используй cons.cpp в других своих проектах.
1
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 7
Записей в блоге: 1
17.10.2017, 00:24 14
Русские буквы вывод на Windows XP



код:
#include <windows.h>
#include <iostream>

char bufrus[256];
char * rus(const char* text) {
CharToOem(text, bufrus);
return bufrus;
}
int main()
{
setlocale(LC_CTYPE, "rus");
std:: cout<<rus("Великий могучий русский язык\n");
std:: cout<<"\nВеликий могучий русский язык\n";
std::cout << "Hello world!" ;
system("pause");
return 0;
}

Добавлено через 15 секунд
Русские буквы вывод на Windows XP



код:
#include <windows.h>
#include <iostream>

char bufrus[256];
char * rus(const char* text) {
CharToOem(text, bufrus);
return bufrus;
}
int main()
{
setlocale(LC_CTYPE, "rus");
std:: cout<<rus("Великий могучий русский язык\n");
std:: cout<<"\nВеликий могучий русский язык\n";
std::cout << "Hello world!" ;
system("pause");
return 0;
}
0
17.10.2017, 00:24
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2017, 00:24
Помогаю со студенческими работами здесь

Ввод русского языка
Не могу понять, как сделать так, чтобы вместо непонятных иероглифов в командной строке выдавался...

Запрет на ввод русского языка
Использовал preg_match(&quot;/^+$/&quot;,$row) Но если ввести 2 английских слова, то тоже не пропускает,...

Использование русского языка в программе
Подскажите пожалуйста как в паскале сделать русский язык?

Использование русского языка в дате POST запроса
Собственно какую кодировку использовать? При успользованию UTF8 какие-то символы типа P&gt;P и т.д....

Вывод русского языка
Ввожу #include &lt;locale.h&gt; setlocale(LC_ALL,&quot;.1251&quot;); или setlocale(LC_ALL,&quot;rus&quot;); На...

ввод и вывод информации, с использование файлов
ввод и вывод информации, с использование файлов


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru