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

При загрузке списка из файла дублируется последняя строка

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

Здравствуйте! Такая проблема:
Выгружаю список в файл. С процедурой выгрузки проблем нет. Всё сохраняет корректно. Но при загрузке списка из файла, последняя строка загружается 2 раза. Ошибку в коде найти не удается:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void load(T_Queue &queue)
{
    FILE *fp;
    T_Book_Queue *p;
    T_Book book;
 
    fp = fopen("base1.dat", "rb");
    if (fp == NULL) {
        perror("Невозможно прочитать файл");
        return;
    }
 
    printf("Загрузка списка... \n");
    while (!feof(fp)) {                        
       fread(&book, sizeof(book), 1, fp);        
       p = (T_Book_Queue*)malloc(sizeof(T_Book_Queue));
       p->book = book;
       p->next = NULL;        
       if (queue.head != NULL) 
           queue.tail->next = p;
       else
           queue.head = p;
       queue.tail = p;
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2014, 18:12
Ответы с готовыми решениями:

При чтении текстового файла дублируется последняя строка
Всем доброго времени суток, мне нужно было написать программу в С++ следующего условия: В...

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

Лишний пробел/строка при загрузке в Memo из файла
Добрый день! Следующая проблемка: Есть текстовый файл, откуда в несколько Memo загружается...

Последняя строка из файла читается дважды
в общем такая проблема, при считывании из файла дублируется последняя строка, что сделал не так?...

Не выводиться всё содержимое файла,только последняя строка
1. Создать файл SPRAW, который содержит сведения о заработанных суммах за каждый месяц для каждого...

2
IrineK
Заблокирован
01.05.2014, 18:30 2
Заменим:
C++
1
2
3
while (!feof(fp)) {                        
       fread(&book, sizeof(book), 1, fp);
//...
На:
C++
1
2
3
while ( fread(&book, sizeof(book), 1, fp) == 1) {                        
       if (feof(fp)) break;
//....
1
Dream_O
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 38
01.05.2014, 18:37  [ТС] 3
IrineK, и снова огромное вам спасибо! Всё получилось!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2014, 18:37

Работа с файлом: из файла считывается только последняя строка
По какой то причине считывает только последнею строку из файла. В чем проблема? #include...

При подключении файла страницы дублируется главная
всем привет содержание файла .htaccess : AddDefaultCharset UTF-8 DirectoryIndex index.php...

Последняя строка при выравнивании по ширине родителя
Добрый день!!! http://jsfiddle.net/KPDZ5/12/ <div class="images"> <div...


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

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

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