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

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

20.12.2018, 16:01. Просмотров 1547. Ответов 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( ???вот...

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

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

Возобновление потока cin.
Всем привет =) С недавних пор изучаю С++, и вот однажды, во время выполнения одного из заданий из...

Cin, чтение с конца полученного потока
Происходит ввод с клавиатуры последовательности чисел разделенных пробелами, нужно извлечь из этого...

6
alkl
117 / 92 / 35
Регистрация: 18.12.2012
Сообщений: 637
Завершенные тесты: 1
20.12.2018, 16:07 2
Цитата Сообщение от cotamay Посмотреть сообщение
ввод слова в объект istream, а именно cin с клавиатуры
Ввод слова происходит наоборот - из потока cin в объекты (например, переменная).
C++
1
cin >> a;  // Читаем из потока istream в переменную 'a'
0
valen10
Параллельный Кот
1268 / 533 / 214
Регистрация: 25.03.2016
Сообщений: 1,189
Завершенные тесты: 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,033
Завершенные тесты: 3
20.12.2018, 16:40 5
Лучший ответ Сообщение было отмечено cotamay как решение

Решение

Цитата Сообщение от valen10 Посмотреть сообщение
В C++ не поддерживается возврат данных обратно в поток ввода. Можно попробовать создать производный от istream класс и переопределить в нем функции получения данных с дублированием.
http://www.cplusplus.com/reference/istream/istream/putback/
2
valen10
Параллельный Кот
1268 / 533 / 214
Регистрация: 25.03.2016
Сообщений: 1,189
Завершенные тесты: 1
20.12.2018, 16:58 6
Nishen, как обычно, хотел написать о своих сомнениях в этом, но не написал. Некоторое время назад искал информацию о чтении данных с возвратами, там было написано, что это невозможно. Поверил на слово. Зря.
0
Nishen
676 / 438 / 224
Регистрация: 26.02.2015
Сообщений: 2,033
Завершенные тесты: 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.clear()
Всем привет. Столкнулся с такой проблемой и до сих пор не смог ее решить. Имеется следующая задача....


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

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

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