Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Dark Byte
29 / 46 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
Завершенные тесты: 2
1

Чтение массива структур из файла

10.01.2015, 12:06. Просмотров 621. Ответов 6
Метки нет (Все метки)

читаю по while !feof(), проблема в том, что если файл пустой, то все равно проскакивает на одну прокрутку цикла, а мне этого не нужно... как исправить?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2015, 12:06
Ответы с готовыми решениями:

Чтение массива структур из файла
Здравствуйте, помогите решить проблемку. Имеется функция чтения: int Read(MPh...

Чтение массива структур из текстового файла
Задание таково: есть структура из 2-х полей:№телефона и комментарий Создать...

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

Чтение и запись массива структур
Добрый вечер! Прошу помощи, так как уже не знаю что делать: вот задание ...

Чтение данных из файла, запись в массив структур
Всем привет, помогите, пожалуйста, с программой. Суть такова: имеется файл...

6
alexcoder
1844 / 714 / 149
Регистрация: 03.06.2009
Сообщений: 4,294
Завершенные тесты: 1
11.01.2015, 10:36 2
Если читаете, из текстового файла:
C
1
2
3
4
5
6
7
while(!feof(f))
{
if(fscanf(f,"%d",&n)==1)
{
//сюда заходит только если было реальное чтение
}
}
Аналогично и для fread. fscanf возвращает кол-во прочитанных параметров, а fread - кол-во прочитанных блоков.
0
Dark Byte
29 / 46 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
Завершенные тесты: 2
11.01.2015, 13:35  [ТС] 3
alexcoder, что вы этим хотели сказать? я знаю как читать, я не понимаю почему в цикл заходит когда файл пустой ! (абсолютно пустой 0 байт)
из за этого у меня добавляется пустая структура в массив...
0
alexcoder
1844 / 714 / 149
Регистрация: 03.06.2009
Сообщений: 4,294
Завершенные тесты: 1
11.01.2015, 13:38 4
Потому что когда заходит в цикл, даже если файл пустой, в структуре FILE еще не установлен признак, что достигнут конец файла, поэтому feof возвращает 0.
0
Dark Byte
29 / 46 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
Завершенные тесты: 2
11.01.2015, 13:40  [ТС] 5
ааа кажется допер, хотите сказать надо сделать что то типа
C
1
2
3
while (!feof(f) && fread(&n, sizeof(int), 1, f))
{
}
но ведь у меня наверное указатель будет смещен? выправлять с помощью fseek?

Добавлено через 55 секунд
Цитата Сообщение от alexcoder Посмотреть сообщение
в структуре FILE еще не установлен признак, что достигнут конец файла
а когда же он устанавливается? разве не при открытии файла?
0
Dark Byte
29 / 46 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
Завершенные тесты: 2
17.01.2015, 12:04  [ТС] 6
актуально !
0
Dark Byte
29 / 46 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
Завершенные тесты: 2
25.01.2015, 18:56  [ТС] 7
я дождусь ответа или нет???

Добавлено через 10 часов 13 минут
ЛЮДИ СКОЛЬКО МОЖНО ЖДАТЬ У МЕНЯ КУРСАЧ ПРОВИСАЕТ ТОЛЬКО ИЗ ЗА ЭТОЙ ХЕРНИ НЕУЖЕЛИ ТАК ТРУДНО ОТВЕТИТЬ??????????????????????????????????????????????????????????????????????????????????????????????????
0
25.01.2015, 18:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2015, 18:56

Заполнение массива структур из файла
Файл имеет вид: 1 Sidorov Moscow 3 4 2 Petrov St.Peterburg 5 31 3 Falin...

Чтение из файла динамического массива.
Добрый день! Подскажите пожалуйста как правильно считать динамический массив из...

Чтение из файла в два массива int
Есть текстовый *txt файл, в котором хранятся данные в следующем виде: 2,...


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

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

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