Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
cotamay
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 15
1

Поместить данные в буфер потока cin

20.12.2018, 16:01. Просмотров 1609. Ответов 6
Метки нет (Все метки)

Здравствуйте. Поправьте, если ошибаюсь в терминах.
Нужно эмулировать ввод слова в объект istream, а именно cin с клавиатуры, иначе говоря поместить слово в его буфер. Это вообще возможно?
Например я ввожу в консоли "string_1", а cin видит это как будто я ввёл "string_1 string_1"
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2018, 16:01
Ответы с готовыми решениями:

Как проверить на пустоту буфер потока cin ?
Мне нужно ввести строку такого типа: "поиск 1 2 3" cin>>sts.code; j = 0; while( ???вот...

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

Как данные из потока поместить в listWidget?
Вопрос довольно глупый, как данные из потока поместить в listWidget? надо что то на подобии такого...

Буфер cin
Не подскажите метод который возвращал бы кол-во байт или символов в буфере cin. Язык c++

6
alkl
117 / 92 / 35
Регистрация: 18.12.2012
Сообщений: 640
Завершенные тесты: 1
20.12.2018, 16:07 2
Цитата Сообщение от cotamay Посмотреть сообщение
ввод слова в объект istream, а именно cin с клавиатуры
Ввод слова происходит наоборот - из потока cin в объекты (например, переменная).
C++
1
cin >> a;  // Читаем из потока istream в переменную 'a'
0
valen10
Параллельный Кот
1466 / 616 / 247
Регистрация: 25.03.2016
Сообщений: 1,425
Завершенные тесты: 1
20.12.2018, 16:18 3
В C++ не поддерживается возврат данных обратно в поток ввода. Можно попробовать создать производный от istream класс и переопределить в нем функции получения данных с дублированием.
0
cotamay
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 15
20.12.2018, 16:27  [ТС] 4
Спасибо, понятно.
0
Nishen
676 / 438 / 224
Регистрация: 26.02.2015
Сообщений: 2,037
Завершенные тесты: 3
20.12.2018, 16:40 5
Лучший ответ Сообщение было отмечено cotamay как решение

Решение

Цитата Сообщение от valen10 Посмотреть сообщение
В C++ не поддерживается возврат данных обратно в поток ввода. Можно попробовать создать производный от istream класс и переопределить в нем функции получения данных с дублированием.
http://www.cplusplus.com/reference/istream/istream/putback/
2
valen10
Параллельный Кот
1466 / 616 / 247
Регистрация: 25.03.2016
Сообщений: 1,425
Завершенные тесты: 1
20.12.2018, 16:58 6
Nishen, как обычно, хотел написать о своих сомнениях в этом, но не написал. Некоторое время назад искал информацию о чтении данных с возвратами, там было написано, что это невозможно. Поверил на слово. Зря.
0
Nishen
676 / 438 / 224
Регистрация: 26.02.2015
Сообщений: 2,037
Завершенные тесты: 3
20.12.2018, 17:24 7
valen10, данная функция используется в книге у Страуструпа в калькуляторе. Он берет один символ из потока, смотрит, цифра это или буква, или знак математический и принимает решение. Например, если это цифра, он кладет с помощью данной функции ее обратно в поток и читает до пробела или первого нечитаемого символа в число
0
20.12.2018, 17:24
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2018, 17:24

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

Получить буфер ввода в cin
Здравствуйте, у меня есть многопоточное приложение в котором работает cin.Если был введен символ...

Чтение символов из cin в буфер в цикле
Привет! Нужно считать строки из консоли, но что-то идёт не так. while (true) { ...

Работа std::cin, >>, буфер данных
Начинаю изучать C++, наткнулся на такую проблему, после ввода данных от пользователя через консоль...

Как работает cin.peek, cin,get, cin.ignore, cin.clear?
Здравствуйте, товарищи и не товарищи!:) Я только начал изучать C++, а уже использую вещи, которые...


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

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

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