Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
#1

Обработка файлов. Функция seekg(); - C++

20.02.2013, 01:06. Просмотров 1093. Ответов 4
Метки нет (Все метки)

ifstream fileReader("sdf.txt");
int a;
while (fileReader >> a) { ...; }
А теперь, чтобы повторить данный while нужно написать
fileReader.clear();
fileReader.seekg(0);
Так вот, почему не достаточно одного seekg(0)? Эта функция перемещает ползунок чтения на начало файла. А вот функция clear() устанавливает флаг ошибки в положение "нет ошибки" и я не пойму зачем нам это нужно, если и функции seekg(0) по идее достаточно, а ошибки считывания никакой не было.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 01:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Обработка файлов. Функция seekg(); (C++):

Функция seekg - C++
Не могу понять как применить функцию seekg так, чтобы она ставила указатель на k-ую строку массива. помогите исправить пожалуйста, место...

Функция seekg() как работает? - C++
Надо считывать из бинарного файла числа, которые стоят на четных позициях. Надо использовать seekg(), но как она работает, можете...

методы seekg и seekp - C++
void my_work(const char *str, double KV) throw (myError) { fstream File(str, ios::in | ios::out | ios::binary); if(File.is_open()) ...

Не запускается програма с seekg - C++
У меня возникает проблема с использованием seekg с этим кодом программа не запускается // load a file into memory #include <iostream> ...

seekg() не срабатывает по окончанию файла - C++
почему когда чтение доходит до третей записи (в файле всего три стройчки с int, char и int величинами) то метод seekg(); опять не...

Разница между seekg() и seekp() - C++
В чём же разница? Вот допустим открыл я файл: fstream file("trans.dat",ios::out|ios::in|ios::binary); Какая разница между...

4
vua72
417 / 417 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
20.02.2013, 01:27 #2
если вы прочитаете EOF, то больше ничего сделать не сможете, а такая последовательность действий восстанавливает работоспособность потока
1
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
20.02.2013, 01:32  [ТС] #3
то есть если даже весь файл состоит из int, то когда мой while прочитает последний int программа дойдет до конца файла, да? не нужно задавать символ EOF в файле напрямую типа ^Z?
0
vua72
417 / 417 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
20.02.2013, 01:41 #4
Да, дойдет.
1
alsav22
5436 / 4831 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 01:46 #5
Цитата Сообщение от kebal Посмотреть сообщение
не нужно задавать символ EOF в файле напрямую типа ^Z?
В каждом файле (даже пустом) он есть.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 01:46
Привет! Вот еще темы с ответами:

Как работает команда seekg? - C++
Всем привет!!! Объясните пожалуйста на примере как работает функция seekg? пробовал искать в поиске, о ней но ничего дельного и ясного...

Почему clear необходимо использовать до seekg? - C++
...и нельзя сразу после? Долго не могла решить проблему пока не наткнулась на тему где f.clear() шел до f.seekg(). И мне стало интересно))...

Некорректная установка seekg и seekp в многострочном файле - C++
Добрый день! Не могу разобраться с мракобесием, которое начинает твориться с seekg и seekp, если в файле появляется переход на следующую...

Различия в использовании seekg и seekp при работе с fstream - C++
Если я использую класс fstream, тогда для перемещения внутри файла без разницы какую функцию использовать (seekg() и seekp())??? ...


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

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

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