Funksjonen fseek () i C ++ angir filposisjonsindikatoren for den gitte filstrømmen.
Funksjonen fseek () er definert i topptekstfilen.
fseek () prototype
int fseek (FILE * stream, long offset, int origin);
Hvis filen åpnes i binærmodus, blir den nye posisjonen til filmarkøren nøyaktig forskjøvet byte fra opprinnelsen.
Hvis filen åpnes i tekstmodus, er de støttede verdiene for forskyvning:
- Null: Den fungerer med en hvilken som helst opprinnelsesverdi, dvs. SEEK_SET, SEEK_CUR og SEEK_END.
 - Verdien returneres av en samtale til ftell (stream): Den fungerer bare med opprinnelsen til SEEK_SET.
 
Hvis strømmen er bredorientert, brukes begrensningene for både tekst og binære strømmer, dvs. resultatet av ftell er tillatt med SEEK_SET og nullforskyvning er tillatt fra SEEK_SET og SEEK_CUR, men ikke SEEK_END.
Fseek-funksjonen angir også effekten av ungetc og tømmer sluttsiden av fil, hvis aktuelt.
Hvis det oppstår en lese- eller skrivefeil, settes ferror og filposisjonen påvirkes ikke.
fseek () Parametere
- stream: Filstrømmen som skal endres.
 - forskyvning: Antall tegn som skal forskyves fra opprinnelsen.
 - opprinnelse: Posisjon brukt som referanse for å legge til forskyvning. Den kan ha følgende verdier:
 
| Verdi | Beskrivelse | 
|---|---|
| SEEK_SET | Begynnelsen på filen | 
| SEEK_CUR | Nåværende posisjon for filpekeren | 
| SEEK_END | Slutt på filen | 
fseek () Returverdi
- Når det lykkes, returnerer funksjonen fseek () null, ellers ikke null.
 
Eksempel: Hvordan fungerer 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; )
Når du kjører programmet, vil utdataene være:
Navn: Erica Alder: 25 By: Berlin








