Strasznie męczę się z następującą rzeczą.
Mam sobie plik, w którym przechowuje np. 30 struktur.
Chcę sobie odczytać te wszystkie struktury, więc muszę znać rozmiar pliku.
Robię to tak :
fseek(plik,0,SEEK_END);
ilosc=ftell(plik)/sizeof(plytaCD);
fseek(plik,0,SEEK_SET);
no i pozniej w petli for(i=0;i<ilosc;i++), przegladam wszystkie elementy.
No i teraz potrzebuje sobie zwrocic aktualne polozenie wskaznika w pliku np. dla struktury nr 5. To robie to tak:
printf("Podaj element szukany: ");
scanf("%s",x);
for(i=0;i<n;i++)
{
fread(&plytaCD,sizeof plytaCD,1,plik);
if(strcmp(plytaCD.tytul,x)==0)
{
pozycja=ftell(plik)/sizeof(plytaCD);
printf("%d",pozycja);
}
}
}
I to w ogole zwraca mi jakas kosmiczna liczbe. Nie rozumiem tego zapisu : ilosc=ftell(plik)/sizeof(plytaCD); I jak to stosowac, zeby zadzialalo ...
Ogolnie jak operowac WSKAZNIKAMI W PLIKACH BINARNYCH, ktore zawieraja struktury ? ;
Dziekuje za pomoc.