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:
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