C ++ fseek () - C ++ standardraamatukogu

Funktsioon fseek () funktsioonis C ++ määrab antud failivoo faili positsiooni indikaatori.

Funktsioon fseek () on määratletud päisefailis.

fseek () prototüüp

 int fseek (FILE * voog, pikk nihe, int päritolu);

Kui fail avatakse binaarrežiimis, on faili kursori uus asukoht täpselt baitidest algupärast nihutatud.

Kui fail avatakse tekstirežiimis, on nihke toetatud väärtused järgmised:

  • Null: see töötab mis tahes päritoluväärtusega, st SEEK_SET, SEEK_CUR ja SEEK_END.
  • Väärtus, mille tagastas kõne ftellile (voog): see töötab ainult algusega SEEK_SET.

Kui voog on laia orientatsiooniga, rakendatakse nii teksti- kui ka binaarvoo piiranguid, st ftellide tulemus on lubatud SEEK_SET-ga ja nullhälve on lubatud SEEK_SET ja SEEK_CUR, kuid mitte SEEK_END.

Funktsioon fseek tühistab ka ungetc-i mõju ja kustutab faili lõpu oleku, kui see on asjakohane.

Lugemis- või kirjutamisvea ilmnemisel määratakse tõrge ja faili asukoht ei muutu.

fseek () Parameetrid

  • voog: muudetav failivoog.
  • nihe: päritolust välja tõrjutavate märkide arv.
  • päritolu: positsiooni kasutatakse viitena nihke lisamiseks. Sellel võivad olla järgmised väärtused:
fseek () algväärtused
Väärtus Kirjeldus
SEEK_SET Faili algus
SEEK_CUR Faili kursori praegune asukoht
SEEK_END Faili lõpp

fseek () Tagastusväärtus

  • Edu korral tagastab funktsioon fseek () nulli, muul juhul null.

Näide: Kuidas funktsioon fseek () töötab?

 #include int main() ( FILE* fp = fopen("example.txt","w+"); char ch; fputs("Erica 25 Berlin", fp); rewind(fp); printf("Name: "); while((ch=fgetc(fp))!=' ') putchar(ch); putchar(''); printf("Age: "); fseek(fp,10,SEEK_SET); while((ch=fgetc(fp))!=' ') putchar(ch); putchar(''); printf("City: "); fseek(fp,15,SEEK_SET); while((ch=fgetc(fp))!=EOF) putchar(ch); putchar(''); fclose(fp); return 0; )

Programmi käivitamisel on väljund järgmine:

 Nimi: Erica Vanus: 25 Linn: Berliin

Huvitavad Artiklid...