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

Чтение файла, лишняя итерация

01.05.2014, 12:23. Просмотров 736. Ответов 2
Метки нет (Все метки)

Вопрос по функции feof(). Я так понимаю она должна сигнализировать о конце файл, если был прочитан последний байт файла. Но у меня в примере снизу это происходит только с одной лишней итерацией (когда последний байта файл считывается, цикл выполняется еще раз и только потом происходит выход из цикла). С чем это связано?
C++
1
2
3
4
5
6
7
8
9
10
void test2() {
   FILE *f;
   f = fopen("/home/iwsyhgia/workspace/1/input.txt", "rb");
   unsigned char byte;
   while (!feof(f)) {
      byte = fgetc(f);
      ...
   }
   fclose(f);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2014, 12:23
Ответы с готовыми решениями:

При чтение из файла появляется лишняя запись
Программа при чтение из файла дублирует последнюю запись файла.Можете...

Выводится лишняя строка из файла
Здравствуйте. При выводе из файла выводится лишняя строка. Т.е. если 13 строк...

Переделать в коде чтение из файла в чтение с клавиатуры
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен...

Чтение из файла. Повторное чтение файла
Добрый день. Необходимо реализовать в программе функцию повторного чтения...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#include<iostream> #include<fstream> #include<locale.h> #include<iomanip>...

2
TenGen
Будущее рядом
99 / 98 / 48
Регистрация: 06.03.2014
Сообщений: 342
01.05.2014, 12:36 2
iwsyhgia, а что за переменная считывается
0
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.05.2014, 13:02 3
iwsyhgia, потому что признак конца файла выставляется после попытки чтения за концом файла.
This indicator is generally set by a previous operation on the stream that attempted to read at or past the end-of-file.
отсюда
Т.е. проверять на eof надо ПОСЛЕ чтения (fgetc).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2014, 13:02

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется
Формат файла состоит из 3 структур и одной переменной. Подробное описание...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла?
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них...

Чтение файла с несколькими знаками конца файла
В файле несколько раз встречается ноль, и ни как не получается прочитать его...


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

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

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