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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одномерный массив. http://www.cyberforum.ru/cpp-beginners/thread62114.html
В одномерном массиве, состоящим из целых элементов, вычеслить: 1) Минимальный по модулю элемент массива 2) Сумму модулей элементов массива, расположенные после первого элемента, равному нулю. ...
C++ Символьные строки и функции Приветик всем, Я не могу понять, что от меня требуется: Разработать функцию. Функция - Left(s,l). Назначение - выравнивание строки s по левому краю до длины l. При реализации функции запрещается... http://www.cyberforum.ru/cpp-beginners/thread62095.html
Отладка программы. C++
Не знаю даже условия, даны только какие-то выражения: http://s1.dump.ru/viewer/3727329/ попробовал сделать по шаблону, который дали, как-то не очень вышло: #include<iostream.h>...
C++ Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент
Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовем сумму ее...
C++ Массивы. http://www.cyberforum.ru/cpp-beginners/thread62063.html
Имеется программа. Из файла считываю данные в массив. Далее этот массив делю на подстроки и вывожу на печать. Вот в чем проблема: если массив задать в самом коде (char S="12 45"), то все работает...
C++ Вывести слова строки в порядке убывания длины требуется написать программу которая: -считает количество слов в предложении -выводит слова строки в порядке убывания ее длины -выводит на экран все слова с четным индексом Количество слов в... подробнее

Показать сообщение отдельно
TheKnyazz
10 / 10 / 1
Регистрация: 27.04.2009
Сообщений: 30

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

08.11.2009, 15:13. Просмотров 2258. Ответов 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;
               }
}
Заранее спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru