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

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

Войти
Регистрация
Восстановить пароль
 
proont
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
#1

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

11.07.2015, 13:01. Просмотров 574. Ответов 7
Метки нет (Все метки)

Что значит считывание данных до конца входного потока? Знаю, что на 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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2015, 13:01     Считывание до конца входного потока
Посмотрите здесь:

C++ Проверка входного потока на ошибки
Вывод строк фиксированной длины из входного потока C++
C++ Слова входного потока
C++ Работа стандартного входного потока
Считывание до конца потока в числовой массив C++
C++ Игнорирование пробелов при чтении символов из входного потока
Не получается из входного потока с файла сравнить строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
2048 / 1844 / 639
Регистрация: 14.05.2014
Сообщений: 5,385
Записей в блоге: 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
2048 / 1844 / 639
Регистрация: 14.05.2014
Сообщений: 5,385
Записей в блоге: 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++
Как красиво игнорировать символы из входного потока? C++
C++ Детали относительно входного потока cin

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

Или воспользуйтесь поиском по форуму:
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     Считывание до конца входного потока
Ответ Создать тему
Опции темы

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