Koristite funkciju fseek

Čitanje iz datoteke vrši se uzastopno, to jest, nakon izvršenja sljedeće operacije čitanja, pokazivač će biti postavljen na sljedeći nepročitani znak. Položaj pokazivača možete promijeniti pomoću funkcije fseek (). Koristi se za pomicanje pokazivača datoteke na određenu poziciju. Funkcija fseek () je specificirana u standardnoj knjižnici c jezika - stdio.h, tako da početak programa u kojem će se koristiti funkcija treba biti deklaracija: #include.

Opis fseek funkcije u

Int fseek (FILE * FilePointer, dugi offset, int pos) - Sljedeći argumenti se prosljeđuju funkciji:
  • FILE * FilePointer - pokazivač na objekt FILE. Prije korištenja funkcije, morate otvoriti datoteku pomoću fopen ().
  • Offset - prijenos argumenta u funkciji, koliko bajta pokazivač mora biti premješten. Upišite long integer (long int). Pozitivna vrijednost parametra znači pomak na desno, a negativ lijevo.
  • Poz - definira položaj iz kojeg se dodaje pomak. Tip ovog argumenta je cijeli broj (int).
  • Parametar pos određuje početnu točku od koje će se odbiti odstupanje. Može prihvatiti tri vrijednosti - 012 koje su ekvivalentne simboličkim konstantama SEEK_SET

    , SEEK_CUR

    i SEEK_END

    :


  • Vrijednost parametra pos je SEEK_SET - pomak će se odrediti u odnosu na početak datoteke ,
  • Kada je SEEK_CUR jednak, pomak se uzima od trenutnog položaja pokazivača.
  • Ako ima vrijednost SEEK_END, pomak će se oduzeti od kraja datoteke. Funkcija fseek vraća nulu u slučaju uspješnog pomicanja pokazivača i bilo kojegnultu vrijednost ako nije uspjela izvršiti željenu radnju, na primjer, u slučaju stranog izlaznog indeksa. Povratna vrijednost bit će jednaka EBADF-u pri slanju pogrešnog pokazivača datoteke, EINVAL u slučaju nevažeće vrijednosti argumenta ili ESPIPE s pogreškom u parametru odmaka, primjerice izvan granice datoteke.

    Primjer



    Program



    Opis



    # uključiti

    int main ()

    [

    FILE * fp;

    fp = fopen ("test.txt", "r");

    fseek (fp, 7 SEEK_CUR);

    printf ("% ld", ftell (fp));

    fclose (fp);

    povratak 0;

    }



    Povežite knjižnicu standardnog jezika sa stdio.h Odredite varijablu datoteke Otvorite datoteku za čitanje Pomičemo pokazivač na 7 bajtova ispred trenutne pozicije (Budući da smo samo otvorili datoteku, pokazivač je na početku.) Ispisujemo trenutni položaj pokazivača s funkcijom ftell () Zatvori datoteku

    Osim razmatranog, postoje i druge funkcije za rad s pokazivačem, na primjer:
  • Rewind () - koristi se za postavljanje kursora na početak datoteke.
  • Ftell () - Vraća položaj pokazivača u ovom trenutku.
  • Feof () - služi za identificiranje kraja datoteke. Kada kraj datoteke dosegne vrijednost funkcije bit će istina.
  • Završne napomene

    Kada se radi s ovom funkcijom potrebno je zapamtiti, radi samo s streaming input-outputom. Također, ne zaboravite zatvoriti datoteku s fclose ().

    Povezane publikacije