[C] fseek, pytanie na temat dzialania

0

zalozmy, ze chce przejsc do drugiego elementu pliku binarnego

korzystam z:

fseek (fp, sizeof(socz) SEEK_SET) //fp to wskaznik na plik binarny, sizeof(socz) to rozmiar elementu struktury
i teraz fread(drugi, sizeof(socz),1,fp)

jezeli dobrze zaobserwowalem, to te dwie instrukcje umozliwia mi odczytanie drugiego elementu pliku binarnego, ale dlaczego tak jest? (o ile tak jest ;) )

fseekiem przesuwam sie na pierwszy element pliku binarnego od poczatku pliku, a fread, dlaczego on odczytuje drugi, a nie pierwszy element? (o ile rzeczywiscie tak dziala ;) )

z gory dzieki za wyjasnienie

0

zle zrozumiales parametry FSEEK
pierwszy to PLIK, drugi to POZYCJA, trzeci to "A-odkad-liczymy-pozycje?"
to znaczy, ze jesli podasz fseek(..., 0, SET) to znaczy, ze strumien przesunie sie na poczatek, czyli na pierwszy element
to znaczy, ze jesli podasz fseek(..., 1000, SET) to znaczy, ze strumien przesunie sie na tysięczny bajt.
to znaczy, ze jesli podasz fseek(..., sizeof(blah), SET) to znaczy, ze strumien przesunie sie na poczatek+sizeof(blah), czyli na drugi element, poprzez 'przeskoczenie' "sizeof(blah)" bajtow liczac od poczatku strumienia [czyli bajtow, ktore nalezaly do elementu pierwszego]

1 użytkowników online, w tym zalogowanych: 0, gości: 1