C ++ fseek () - C ++ standarta bibliotēka

Funkcija fseek () programmā C ++ nosaka faila pozīcijas indikatoru dotajai failu straumei.

Funkcija fseek () ir definēta galvenes failā.

fseek () prototips

 int fseek (FILE * straume, gara nobīde, int izcelsme);

Ja fails tiek atvērts binārā režīmā, faila rādītāja jaunā pozīcija tiek precīzi atcelta no sākuma baitiem.

Ja fails tiek atvērts teksta režīmā, kompensētās vērtības ir šādas:

  • Nulle: tas darbojas ar jebkuru izcelsmes vērtību, piemēram, SEEK_SET, SEEK_CUR un SEEK_END.
  • Vērtība, ko atdeva zvans uz ftell (straumi): tā darbojas tikai ar SEEK_SET izcelsmi.

Ja straume ir plaši orientēta, tiek piemēroti gan teksta, gan bināro plūsmu ierobežojumi, ti, ftell rezultāts ir atļauts ar SEEK_SET un nulles nobīde ir atļauta no SEEK_SET un SEEK_CUR, bet ne SEEK_END.

Funkcija Fseek arī atsauc ungetc sekas un, ja piemērojams, notīra faila beigu statusu.

Ja rodas lasīšanas vai rakstīšanas kļūda, tiek iestatīta nepareiza kļūda un faila pozīcija netiek ietekmēta.

fseek () Parametri

  • straume: faila straume, kas jāmaina.
  • nobīde: to rakstzīmju skaits, kuras jāizvieto no izcelsmes.
  • izcelsme: pozīcija tiek izmantota kā atsauce, lai pievienotu kompensācijai. Tam var būt šādas vērtības:
fseek () izcelsmes vērtības
Vērtība Apraksts
SEEK_SET Faila sākums
SEEK_CUR Faila rādītāja pašreizējā pozīcija
SEEK_END Faila beigas

fseek () Atgriešanās vērtība

  • Pēc panākumiem funkcija fseek () atgriež nulli, citādi - nulle.

Piemērs: Kā darbojas funkcija fseek ()?

 #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; )

Palaidot programmu, izeja būs:

 Vārds: Erica Vecums: 25 Pilsēta: Berlīne

Interesanti raksti...