1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
1

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

11.07.2015, 13:01. Показов 7704. Ответов 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;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2015, 13:01
Ответы с готовыми решениями:

Считывание до конца потока в числовой массив
Здравствуйте. Проблема с Как реализовать считывание до конца потока из файла вместе со scanf()...

Слова входного потока
Вывести самые длинные слова входного потока! если во вх потоке самое длинное слово одно,то...

Проверка входного потока на ошибки
Ребяты подскажите плз )))) сам не как не разберусь можно ли использовать failbit badbit goodbit...

Чтение файла из входного потока
есть код в нем есть путь к файлу, как мне сделать так чтоб я не писал путь к файлу а данные...

7
lss
939 / 867 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
11.07.2015, 14:00 2
Цитата Сообщение от proont Посмотреть сообщение
Что значит считывание данных до конца входного потока?
Пока очередь ввода не опустеет.
0
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
11.07.2015, 14:27  [ТС] 3
Цитата Сообщение от lss Посмотреть сообщение
Пока очередь ввода не опустеет.
А как программа понимает, что она опустела. Вот я ввожу числа, ввожу, ввожу и решил перестать вводить, как программа поймет, что больше не надо считывать?
0
Эксперт PHP
3102 / 2587 / 1219
Регистрация: 14.05.2014
Сообщений: 7,231
Записей в блоге: 1
11.07.2015, 14:30 4
proont, либо вводите любой символ, либо нажимаете комбинацию клавиш Ctrl + z (для Windows) или, если не ошибаюсь, Ctrl + d (для Linux).
1
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
11.07.2015, 14:45  [ТС] 5
Kerry_Jr, а что эти комбинации делают? Понятно, что посылают сигнал остановки потока. Но как именно это происходит? Что передается в поток, что прекращается считывание?
0
Эксперт PHP
3102 / 2587 / 1219
Регистрация: 14.05.2014
Сообщений: 7,231
Записей в блоге: 1
11.07.2015, 14:49 6
Лучший ответ Сообщение было отмечено proont как решение

Решение

proont, выставляется флаг fail или bad (если не ошибаюсь) объекта cin в значение true. А если хоть один из этих флгов выставлен в true, то оператор потокового ввода возвращает false, и цикл останавливается. Если же оба флага выставлены в значение false, то опреатор >> возвращает объект cin, и ввод продолжается. Это в общих чертах.
1
1 / 1 / 1
Регистрация: 15.11.2014
Сообщений: 79
11.07.2015, 15:07  [ТС] 7
Kerry_Jr,получается после такого ввода нужно выполнять cin.clear()?
0
lss
939 / 867 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
11.07.2015, 17:05 8
Цитата Сообщение от proont Посмотреть сообщение
получается после такого ввода нужно выполнять cin.clear()?
Получается.
Почему если флаг состояния потока eof поднят, то флаг good опущен?
Флаг eofbit в потоке и условные операторы
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2015, 17:05
Помогаю со студенческими работами здесь

Работа стандартного входного потока
Здравствуйте. Допустим есть код: int number1, number2; std::cin &gt;&gt; number1 &gt;&gt; number2; Мы...

Записать число в начало потока вернувшись с конца потока после записи нескольких элементов...
public static void Save(List&lt;SomeClass&gt; listSC, String fileName) { using...

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

Очистка входного потока
Здравствуйте уважаемые! Пишу игрушку на C#, возникла проблема: в одном месте (в меню выбора...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru