Форум программистов, компьютерный форум CyberForum.ru

Занести данные в односвязный список - C++

Восстановить пароль Регистрация
 
Tramplin
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 6
13.05.2014, 08:39     Занести данные в односвязный список #1
Здравствуйте, прошу помочь мне с односвязным списком, в общем проблема заключается в том что нужно создать временный узел tmp и занести в него данные с файла через fread, функцию вроде написал, считывает, но только один раз, если вызвать функцию повторно, то считывание происходит коряво, не понимаю почему. Вот код функции -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void pushBack(FILE *Database, Savers **Head)
   {
     Savers *last = getLast(*Head);
     Savers *tmp = (Savers*) malloc(sizeof(Savers));
     
     fread((Savers*)tmp, sizeof(Savers), 1, Database);
     
     tmp->Next=NULL;
     if (last==NULL)
        {
           (*Head)=tmp;
        }
     else
        {
           last->Next=tmp;  
        }
     
   }
Полный код - http://pastebin.com/Kv3tKf9i
Файл базы во вложении

Помогите, пожалуйста.
Вложения
Тип файла: rar testBase3.rar (35.4 Кб, 1 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 08:39     Занести данные в односвязный список
Посмотрите здесь:

Односвязный список C++
C++ Односвязный список.
C++ Односвязный список
Односвязный список C++
односвязный список C++
Односвязный список C++
Односвязный список C++
Односвязный список C++
C++ Односвязный список
Односвязный список C++
C++ Односвязный список

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
13.05.2014, 11:12     Занести данные в односвязный список #2
http://www.cplusplus.com/reference/cstdio/fread/ дока по fread
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
Read block of data from stream
Reads an array of count elements, each one with a size of size bytes, from the stream and stores them in the block of memory specified by ptr.

The position indicator of the stream is advanced by the total amount of bytes read.

The total amount of bytes read if successful is (size*count).
Вы брали во внимание сдвиг указателя отвечающего за метку начала чтения файла?
n1l
 Аватар для n1l
135 / 137 / 4
Регистрация: 26.07.2010
Сообщений: 911
13.05.2014, 11:27     Занести данные в односвязный список #3
Это не C++, а С.
Tramplin
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 6
13.05.2014, 11:30  [ТС]     Занести данные в односвязный список #4
Цитата Сообщение от outoftime Посмотреть сообщение
Вы брали во внимание сдвиг указателя отвечающего за метку начала чтения файла?
Извините, я вас не понял. Наверное нет.
Yandex
Объявления
13.05.2014, 11:30     Занести данные в односвязный список
Ответ Создать тему
Опции темы

Текущее время: 06:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru