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

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

Войти
Регистрация
Восстановить пароль
 
cornis
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 20
#1

Запись кириллицы в строку из консоли - C++

10.05.2013, 20:31. Просмотров 1000. Ответов 6
Метки нет (Все метки)

Столкнулся с такой проблемой: если я пытаюсь заполнить строку из консоли, то потом из этой строки на экран выводятся кракозябры. Подскажите, пожалуйста, как сделать, чтобы все было нормально?
C++
1
2
3
4
5
6
7
8
9
10
int _tmain(int argc, _TCHAR* argv[])
{   setlocale (LC_ALL,"rus");
    string str;
    char tmp;
    cout<<"Введите, что вы хотели бы вывести на экран: ";
    getline(cin,str);
    cout<<str<<endl;
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 20:31     Запись кириллицы в строку из консоли
Посмотрите здесь:

Отображение кириллицы в консоли - C++
Извеняюсь что не нашёл темы в форуме, просто поджимает время! #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; ...

Ввод кириллицы в консоли - C++
Есть задание создать некоторую базу. Базу эту можно дописывать. Но возникает проблема ввода кириллицы с консоли. Пробовал это решить...

Настройка отображения кириллицы в консоли - C++
Здравствуйте! Подскажите пожалуйста где в найтройках вижуал студио нужно настроить параметр для того чтобы компилятор воспринимал русские...

Debug(отображение кириллицы в консоли) - C++
проходим прогу дебаг,выводим свое имя,выводится на английском,какая програ будет выводить на русском,помогите пожалуйста)

Иероглифы при отображении кириллицы в консоли - C++

Неправильный вывод кириллицы в строках, заданных с консоли - C++
Добрый день! Вот не как не могу доделать до конца программу, буду рад если поможете! Вот код исходный, набираю код в VS 12 ultimate. в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.05.2013, 00:06     Запись кириллицы в строку из консоли #2
C++
1
2
3
4
5
6
7
8
9
10
int _tmain(int argc, _TCHAR* argv[])
{   setlocale (LC_ALL,"rus");
    wstring str;
    wchar_t tmp;
    wcout<<"Введите, что вы хотели бы вывести на экран: ";
    getline(wcin,str);
    wcout<<str<<endl;
    system ("pause");
    return 0;
}
cornis
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 20
11.05.2013, 07:21  [ТС]     Запись кириллицы в строку из консоли #3
Вот, что у меня получилось, после этого:
Миниатюры
Запись кириллицы в строку из консоли  
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
11.05.2013, 07:30     Запись кириллицы в строку из консоли #4
Есть же прикрепленная тема: Русские шрифты в консоли

WinAPI:
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <Windows.h>
 
int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    std::string str;
    std::cout<<"Введите, что вы хотели бы вывести на экран: ";
    std::getline(std::cin,str);
    std::cout<<str<<std::endl;
    system ("pause");
    return 0;
}
Шрифт в консоли - Lucida Console
cornis
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 20
11.05.2013, 08:21  [ТС]     Запись кириллицы в строку из консоли #5
Спасибо! Все получилось. Но возникает еще один вопрос: выставится ли шрифт Lucida Console автоматически при запуске программы с другого компьютера?
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
11.05.2013, 08:35     Запись кириллицы в строку из консоли #6
Цитата Сообщение от cornis Посмотреть сообщение
выставится ли шрифт Lucida Console автоматически при запуске программы с другого компьютера?
нет.
Изменить шрифт и его размер (консоль)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 09:42     Запись кириллицы в строку из консоли
Еще ссылки по теме:

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

Некорректная запись кириллицы в файл - C++
Здравствуйте! Подскажите, пожалуйста, как можно исправить (и можно ли вообще) вот такую ошибку: 1) Вводим, например, вот такие...

Чтение и запись в консоли - C++
Здравствуйте, могли бы вы подсказать как данное сделать? Мне нужно записать в консоль данные (Учитывая что это dll которая будет...

Запись буфера консоли - C++
Работу делаю в Builder'е, в консоле. Нужно реализовать функцию, которая сохраняет буфер консоли, а когда нужно, восстанавливает все как...

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

Запись в файл содержимого консоли - C++
int main (int argc, LPTSTR argv) { cout&lt;&lt;argv&lt;&lt;endl&lt;&lt;argv ; HANDLE hIn, hOut; hIn=CreateFile (argv , GENERIC_READ, 0, NULL,...


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

Или воспользуйтесь поиском по форуму:
Okonenko Stanis
6 / 6 / 1
Регистрация: 06.02.2013
Сообщений: 71
13.05.2013, 09:42     Запись кириллицы в строку из консоли #7
- Здравствуйте Всем! Попробовал для интереса повторить Ваш пример в консольном
приложении BCB6. Смотри код ниже.

- Модуль Unit1.cpp:
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
32
33
34
// .........
#pragma comment (lib, "kernel32.lib")
 
//##### ..... #####
#include  <vcl.h>
#include  <iostream>
#include  <string>
#include  <Windows.h>
#pragma hdrstop //--------------------------------------------------------------
 
// указатель на функцию - "Установить Шрифт Консоли".
typedef    BOOL  (WINAPI*LPSetConsoleFont)( HANDLE, DWORD );
 
 
#pragma argsused
int  main( int  argc, char*  argv[] )
{
  // *** установить шрифт - Lucida Console. ***
  LPSetConsoleFont  SetConsoleFont =
    reinterpret_cast<LPSetConsoleFont>( GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetConsoleFont" ) );
  SetConsoleFont( GetStdHandle( STD_OUTPUT_HANDLE ), 12 );
 
  SetConsoleCP( 1251 );
  SetConsoleOutputCP( 1251 );
 
  // *** ввести и вывести текст на кириллице. ***
  std::cout << "Введите, что вы хотели бы вывести на экран: ";
  std::string  str;
  std::getline( std::cin, str );
  std::cout << str << std::endl;
  system( "pause" );
 
  return  0;
}
- Все равно печатает ересь! Что не работает ?
Yandex
Объявления
13.05.2013, 09:42     Запись кириллицы в строку из консоли
Ответ Создать тему
Опции темы

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