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

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

Войти
Регистрация
Восстановить пароль
 
Dream_O
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 38
#1

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

01.05.2014, 18:12. Просмотров 314. Ответов 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
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2014, 18:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос При загрузке списка из файла дублируется последняя строка (C++):

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

При загрузке из файла дублируется запись - C++
Добрый вечер! Не пойму в чем ошибка, дублируется запись при загрузке из файла! Помогите пожалуйста! Спасибо большое! #include "stdafx.h" ...

Работаю с файлом *.txt. Прога ведет себя странно если последняя строка файла пуста. Почему так? - C++
Добрый день! Помогите пожалуйста с небольшой проблемой. Что хотел сделать: Есть текстовый файл, в нем содержатся любые...

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

Программа зависает при загрузке файла - C++
Добрый день. Недавно я написал свою первую программу. Возникла проблема, с которой я не могу разобраться. Программа работает нормально,...

Обработка конца строки при загрузке из файла - C++
День добрый. Помогите, пожалуйста. Исходные данные. Есть класс: class ThingPtr { string word; vector <int>...

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
Привет! Вот еще темы с ответами:

При чтении из файла пропускается вторая строка - C++
Что не делаю, при чтении постоянно пропускает вторую строчку из файла. #include<iostream> #include<stdio.h> using namespace std; ...

Дана квадратная таблица a[1:n,1:n]. Переставить местами строки 1 и 2, 3 и 4 и т.д. Если n нечетно, то последняя строка остается на месте. - C++
помогите разобраться с пару задачками. 1)Дана квадратная таблица a. Переставить местами строки 1 и 2, 3 и 4 и т.д. Если n нечетно, то...

Восстановление списка из файла при запуске - C++
не получается сделать восстановление списка из файла, прошу помочь, указать где что не так. вот сам метод восстановления void...

При вводе из файла проверить, следующая строка пустая или нет - C++
Можно ли как-нибудь проверить является ли следующая строка при вводе, например, текста из файла пустой. Допустим: >Он любил кататься на...


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

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

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