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

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

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

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

08.11.2009, 15:13. Просмотров 2222. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2009, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание и запись структур в бинарный файл (C++):

Запись массива структур в бинарный файл - C++
Одно из полей структуры типа String, нужно записать массив структур в бинарный файл: struct NOTEBOOK { string model; // наименование ...

Запись массива структур в бинарный файл - C++
Есть структура Owner: struct Owner{ char name; unsigned int purse; short catb; void addcat(short num); }; ...

Запись/чтение массива структур в бинарный файл - C++
#include <iostream> #include <fstream> using namespace std; struct test { int x; int y; };

Запись в бинарный файл и чтение из него массива структур - C++
Ребята, выручайте. Огромная проблема с записью и с чтением структуры из бинарного файла. Помогите кто чем может. void bin_w() { int...

Запись в бинарный файл и чтение из него массива структур - C++
Здравствуйте, появилась проблема записью структуры в бинарный файл и чтение из него этой же структуры. Я находил код с записью char, но я...

Запись в бинарный файл двумерного строкового вектора и его считывание - C++
Ну ни в какую не могу понять эту работу с файлами( В чем проблема? Заранее спасибо #include <iostream> #include <fstream> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
08.11.2009, 15:14 #2
Я бы делал через fgets,fputs.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2009, 15:14
Привет! Вот еще темы с ответами:

Бинарный файл структур - C++
// lab_3.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <fstream> #include <iostream> ...

Бинарный файл структур - C++
Не могу привести код в рабочее состояние.. Есть два бинарных файла, нужно найти данные с первого и записать во второй. Ошибка скорее всего...

Масив структур + бинарный файл - C++
Помогите написать программу. Нужно создать массив структур. Каждая структура состоит из следующих элементов: производитель, товар,...

Записать массив структур в бинарный файл - C++
Собственно программа, которая записывает\считывает масс структур в бинарный файл... проблема следующая, при выводе выводится только 1-ая...


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

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

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