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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
TheKnyazz
10 / 10 / 1
Регистрация: 27.04.2009
Сообщений: 30
#1

Считывание и запись структур в бинарный файл - C++

08.11.2009, 15:13. Просмотров 2195. Ответов 1
Метки нет (Все метки)

Здравствуйте, я делаю автоподгрузку и авто сохранение некоторой структуры в бинарный файл. И где-то допустил грубую ошибку, ибо записывается правильно, а при считывании берутся клоны.
Подскажите, где проспал.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
void save(myList* &FIRST,myList* &LAST)
{  workList z;
   myList *temp;
   temp=FIRST;
   const size_struct=sizeof(workList);
   ofstream save_file("d:\\base.dat",ios::binary|ios::out);
 
   if(save_file)
     {
       for (temp=FIRST;temp!=NULL;temp=temp->forward)
         {
             save_file.write((char *) &temp->data, size_struct);
         }
     }
   else {
           errormessage("Cannot save to type file");
           return;
        }
   save_file.close();
 
}
 
 
void load(void)
{ workList z;
   ifstream load_file("d:\\base.dat",ios::binary);
   if (load_file) {
        while(!load_file.eof()){
             load_file.read((char *) &z, sizeof(workList));
             ADD(z,FIRST,LAST);
        }
   }
   else{
       errormessage("Can't load file from Type file");
       return;
   }
   load_file.close();
}
И Функция ADD
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void ADD(const workList &z,myList* &FIRST,myList* &LAST)
{  myList *temp=new myList;
   temp->data=z;
       if(FIRST){
                 temp->back=LAST;
                 temp->forward=0;
                 LAST->forward=temp;
                 LAST=temp;
                }
          else {
                 temp->back=0;
                 temp->forward=0;
                 FIRST=LAST=temp;
               }
}
Заранее спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2009, 15:13     Считывание и запись структур в бинарный файл
Посмотрите здесь:
C++ Запись массива структур в бинарный файл
Запись массива структур в бинарный файл C++
Запись/чтение массива структур в бинарный файл C++
Запись в бинарный файл и чтение из него массива структур C++
C++ Запись в бинарный файл и чтение из него массива структур
C++ Запись в бинарный файл двумерного строкового вектора и его считывание
Бинарный файл структур C++
C++ Бинарный файл структур
Масив структур + бинарный файл C++
C++ Записать массив структур в бинарный файл
C++ Заполнить массив структур сканеров и записать его в бинарный файл
Запись в бинарный файл C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
08.11.2009, 15:14     Считывание и запись структур в бинарный файл #2
Я бы делал через fgets,fputs.
Yandex
Объявления
08.11.2009, 15:14     Считывание и запись структур в бинарный файл
Ответ Создать тему
Опции темы

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