[C] struktura i pliki

[C] struktura i pliki
Herk
  • Rejestracja:ponad 20 lat
  • Ostatnio:ponad 8 lat
  • Postów:272
0

Witam. Mam tak zdefiniowaną strukturę :

Kopiuj
struct TPlyta
{
  char tytul[256];
  char wykonawca[256];
  char album[256];
  int  rok;
};

struct TElem
{
  struct TPlyta dane;
  struct TElem *prev;
  struct TElem *next;
}*g=NULL,*o=NULL,*p=NULL;

W ten sposób zapisuje i wczytuje dane z pliku :

Kopiuj
void save(struct TElem **g)
{
 FILE *out;
 out=fopen("dane.dat","wb");
 fwrite(&((**g).dane),sizeof(struct TPlyta),1,out);
 fclose(out);
 return;
};

void load(struct TElem **g)
{
  FILE *in;
  in=fopen("dane.dat","rb");
  fread(&((**g).dane),sizeof(struct TPlyta),1,in);
  fclose(in);
  return;
};

Problem w tym, że nie wiem zabardzo w jaki sposób wykryć ile struktur znajduje się w pliku (u mnie jest to ograniczone do jednej :) ) - pytanie dotyczy funkcji load.

Z góry dziękuję za info.

Pozdrowienia


---
Malcolm
  • Rejestracja:ponad 22 lata
  • Ostatnio:prawie 9 lat
  • Postów:317
0

Odczytuj dane w petli az do osiagniecia konca pliku, ewentualnie na poczatku zapisz naglowek, w ktorym bedzie zapisana ilosc struktur.


Stwórzmy boga na własne podobieństwo
Niech będzie mały i parszywy,
Wtedy wszyscy w niego uwierzą...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.