Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Не могу придумать условие (ограничение) на построение http://www.cyberforum.ru/c-beginners/thread453178.html
Здравствуйте, пишу программку в Си Фрактальные кривые, а именно кривая Леви http://elementy.ru/posters/fractals/Levy Вроде бы все ничего, но уже замучался - при построении 4 итерации (сравните с...
C (СИ) табуляция функции на си написать программу которая распечатывает заданное количество 2*sin(x)+cos(x) и соответствующие значения аргумента.Таблица располагается вертикально,значение функции и аргумента разделяются столбцом... http://www.cyberforum.ru/c-beginners/thread453135.html
Слова.. C (СИ)
#include <stdio.h> #include <string.h> #include <ctype.h> int SearchEnglish (char* Word); // Поиск букв int WordComparison (char* Word); // Основное...
C (СИ) Массив указателей на функцию - разобрать строку кода
Есть массив указатель на функцию void f1(int); void f2(int); void f3(int); void (*fArray(int)= {f1, f2, f3};
C (СИ) Получить массив, содержащий все номера максимальных чисел исходного массива http://www.cyberforum.ru/c-beginners/thread452998.html
#include <stdio.h> /*Дан одномерный массив. Получить другой массив содержащий все номера максимальных чисел первого массива*/ int main() { int a; int b; int i, max; ...
C (СИ) Перевод градусов в радианы(проблема с типами) здравствуйте. понадобилась программа для перевода градусов в радианы. #include <stdio.h> #define PI 3.14159265 int main(void) { float degrees, radians; printf("Enter... подробнее
Russian_Dragon
10 / 11 / 2
Регистрация: 18.02.2012
Сообщений: 140
26.02.2012, 20:29 0

Сохранение структуры в бинарно-открытый файл. Кто подскажет?

26.02.2012, 20:29. Просмотров 2032. Ответов 39
Метки (Все метки)

Ответ

Сохранить и восстановить класс/структуру очень легко. Даже можно пользоваться потоковыми операторами ввода/вывода [>>/<<].

Делается это так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
...
class MyClass{
int a;
}
 
void main(){
...
unsigned __int8 *mas;
MyClass MC1; 
mas = &MC1;//вроде и так сойдет, но если заортачиться компилятор, то делаем так
//(void*)mas = (void*)&MC1;
 
for(int i = 0; i < sizeof(MC1); i++)
ofile << mas[i];
 
//читаем
mas = new unsigned __int8[sizeof(MC1)];
for(int i = 0; i < sizeof(MC1); i++)
ifile >> mas[i];
MC1 = *((MyClass*)((void*)mas));
}
Это самый простой вариант, можно и более интересный сделать с malloc, memcpy и file.
Если хочешь дам свой класс, который сохранят любые классы в файл с использованием одной функции.

Вернуться к обсуждению:
Сохранение структуры в бинарно-открытый файл. Кто подскажет?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2012, 20:29

Сохранение структуры в файл.
Почему не сохраняет в файл структуру.void __fastcall Tmain::BitBtn1Click(TObject *Sender) { ...

Сохранение структуры в файл
Подскажите если дана структура из трех полей как сохранить ее в файл и загрузить обратно из файла...

Сохранение структуры в файл
написал структуру игр, но не знаю как сделать так чтоб она сохраняла и выводила их в файл и из...

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