Witam,
Ostatnio zacząłem uczyc sie o zapisie danych do plikow binarnych. Potrzebuje zapisać właśnie w takim pliku obiekt danej klasy. Dowiedziałem się tylko, że trzeba napisać metody serializacji i deserializacjii i że aby to zrobić trzeba znać rozmiar tego co się chce zapisać.
Wszystko, co udało mi sie znaleŹć na ten temat to użycie czegoś o nazwie boost, przy czym potrzebuje stworzyć to możliwie 'ręcznie', bez użycia gotowych bibliotek.
Tak wygląda klasa:
class MojeZadanie
{
public:
MojeZadanie(){} //konstruktor domyślny
~MojeZadanie(){} //destruktor
MojeZadanie(int numer, int data, string tresc, int datawykonania, int priorytet, int obrazek); //konstruktor
//pola
int numer;
int data;
string tresc;
int datawykonania;
int priorytet;
int obrazek;
MojeZadanie *next; //wskaźnik na nastepny element
MojeZadanie *prev; //wskaźnik na poprzedni element
};
Sprawdziłem sizeof tej klasy - 32 (z tym że wskaźniki wskazują na dwa takie same obiekty... czyli chyba jeszcze 2x24 ... :/ )
Co się jeszcze dowiedziałem, to to że (podobno) najlepiej jest użyć czegoś w rodziaju buforu w tablicy dynamicznej, a co do wskaźników to trzeba dołożyć do serializacji to, na co wskazują.
Prosiłbym o pomoc, chociaż jak się za to zabrać i ew. w miarę możliwości wyjaśnienie ogólnej zasady działania takiego mechanizmu :)
Pozdrawiam,