C ++ fseek () - C ++ standartinė biblioteka

Funkcija „fseek“ (C ++) nustato failo padėties rodiklį nurodytam failų srautui.

Funkcija „fseek“ () apibrėžta antraštės faile.

fseek () prototipas

 int fseek (FILE * srautas, ilgas poslinkis, int kilmė);

Jei failas atidaromas dvejetainiu režimu, naujoji failo žymeklio padėtis tiksliai kompensuoja baitus nuo kilmės.

Jei failas atidaromas teksto režimu, palaikomos šios poslinkio vertės:

  • Nulis: jis veikia su bet kokia kilmės verte, ty SEEK_SET, SEEK_CUR ir SEEK_END.
  • Vertė, kurią grąžino skambutis „ftell“ (srautas): ji veikia tik su SEEK_SET kilme.

Jei srautas orientuotas plačiai, taikomi tiek teksto, tiek dvejetainių srautų apribojimai, ty ftell rezultatas leidžiamas naudojant SEEK_SET ir nulinis poslinkis leidžiamas nuo SEEK_SET ir SEEK_CUR, bet ne SEEK_END.

„Fseek“ funkcija taip pat panaikina „ungetc“ padarinius ir išvalo failo pabaigos būseną, jei taikoma.

Jei įvyksta skaitymo ar rašymo klaida, nustatoma klaida ir failo padėtis neturi įtakos.

fseek () parametrai

  • srautas: failų srautas, kurį reikia keisti.
  • poslinkis: simbolių, kuriuos reikia pakeisti nuo kilmės, skaičius.
  • kilmė: padėtis naudojama kaip nuoroda, norint pridėti kompensaciją. Jis gali turėti šias vertes:
fseek () kilmės reikšmės
Vertė apibūdinimas
SEEK_SET Bylos pradžia
SEEK_CUR Dabartinė failo žymeklio padėtis
SEEK_END Failo pabaiga

fseek () Grąžinimo vertė

  • Sėkmės atveju funkcija „fseek“ () grąžina nulį, kitaip - nulis.

Pavyzdys: Kaip veikia „fseek“) funkcija?

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

Kai paleisite programą, išvestis bus:

 Vardas: Erica Amžius: 25 Miestas: Berlynas

Įdomios straipsniai...