C ++ fseek () - Biblioteca standard C ++

Funcția fseek () din C ++ setează indicatorul de poziție a fișierului pentru fluxul de fișiere dat.

Funcția fseek () este definită în fișierul antet.

fseek () prototip

 int fseek (flux FILE *, offset lung, origine int);

Dacă fișierul este deschis în modul binar, noua poziție a indicatorului de fișier este exact compensată de octeți de la origine.

Dacă fișierul este deschis în modul text, valorile acceptate pentru offset sunt:

  • Zero: funcționează cu orice valoare de origine, adică SEEK_SET, SEEK_CUR și SEEK_END.
  • Valoare returnată de un apel către ftell (flux): funcționează numai cu originea SEEK_SET.

Dacă fluxul este orientat spre larg, se aplică restricțiile atât pentru fluxul de text, cât și pentru cele binare, adică rezultatul ftell este permis cu SEEK_SET și zero offset este permis de la SEEK_SET și SEEK_CUR, dar nu SEEK_END.

Funcția fseek anulează efectele ungetc și șterge starea de sfârșit de fișier, dacă este cazul.

Dacă apare o eroare de citire sau scriere, Ferror este setat și poziția fișierului nu este afectată.

fseek () Parametri

  • stream: fluxul de fișiere de modificat.
  • offset: numărul de caractere de deplasat de la origine.
  • origine: Poziție utilizată ca referință pentru a adăuga la offset. Poate avea următoarele valori:
fseek () valori de origine
Valoare Descriere
SEEK_SET Începutul dosarului
SEEK_CUR Poziția curentă a indicatorului de fișier
SEEK_END Sfârșitul fișierului

fseek () Valoare returnată

  • La succes funcția fseek () returnează zero, altfel decât zero.

Exemplu: Cum funcționează funcția 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; )

Când rulați programul, ieșirea va fi:

 Nume: Erica Vârstă: 25 Oraș: Berlin

Articole interesante...