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

Считывание до конца входного потока - C++

Восстановить пароль Регистрация
 
proont
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
11.07.2015, 13:01     Считывание до конца входного потока #1
Что значит считывание данных до конца входного потока? Знаю, что на C++ реализуется так. А что является концом входного потока? И как это реализовать в стиле языка Си?
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
int main()
{
 
int n;
while (std::cin >> n)
{}
 
return 0;
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lss
919 / 849 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
11.07.2015, 14:00     Считывание до конца входного потока #2
Цитата Сообщение от proont Посмотреть сообщение
Что значит считывание данных до конца входного потока?
Пока очередь ввода не опустеет.
proont
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
11.07.2015, 14:27  [ТС]     Считывание до конца входного потока #3
Цитата Сообщение от lss Посмотреть сообщение
Пока очередь ввода не опустеет.
А как программа понимает, что она опустела. Вот я ввожу числа, ввожу, ввожу и решил перестать вводить, как программа поймет, что больше не надо считывать?
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1855 / 1651 / 574
Регистрация: 14.05.2014
Сообщений: 4,726
Записей в блоге: 1
Завершенные тесты: 5
11.07.2015, 14:30     Считывание до конца входного потока #4
proont, либо вводите любой символ, либо нажимаете комбинацию клавиш Ctrl + z (для Windows) или, если не ошибаюсь, Ctrl + d (для Linux).
proont
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
11.07.2015, 14:45  [ТС]     Считывание до конца входного потока #5
Kerry_Jr, а что эти комбинации делают? Понятно, что посылают сигнал остановки потока. Но как именно это происходит? Что передается в поток, что прекращается считывание?
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1855 / 1651 / 574
Регистрация: 14.05.2014
Сообщений: 4,726
Записей в блоге: 1
Завершенные тесты: 5
11.07.2015, 14:49     Считывание до конца входного потока #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
proont, выставляется флаг fail или bad (если не ошибаюсь) объекта cin в значение true. А если хоть один из этих флгов выставлен в true, то оператор потокового ввода возвращает false, и цикл останавливается. Если же оба флага выставлены в значение false, то опреатор >> возвращает объект cin, и ввод продолжается. Это в общих чертах.
proont
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
11.07.2015, 15:07  [ТС]     Считывание до конца входного потока #7
Kerry_Jr,получается после такого ввода нужно выполнять cin.clear()?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2015, 17:05     Считывание до конца входного потока
Еще ссылки по теме:

Как установить разделитель полей входного потока C++
Вывести предыдущий член входного потока C++
Чтение файла из входного потока C++

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

Или воспользуйтесь поиском по форуму:
lss
919 / 849 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
11.07.2015, 17:05     Считывание до конца входного потока #8
Цитата Сообщение от proont Посмотреть сообщение
получается после такого ввода нужно выполнять cin.clear()?
Получается.
Почему если флаг состояния потока eof поднят, то флаг good опущен?
Флаг eofbit в потоке и условные операторы
Yandex
Объявления
11.07.2015, 17:05     Считывание до конца входного потока
Ответ Создать тему
Опции темы

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