Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       fgetpos, fseek, fsetpos, ftell, rewind - repoziționează un flux

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <stdio.h>

       int fseek(FILE *stream, long offset, int whence);
       long ftell(FILE *stream);

       void rewind(FILE *stream);

       int fgetpos(FILE *restrict stream, fpos_t *restrict pos);
       int fsetpos(FILE *stream, const fpos_t *pos);

DESCRIERE

       Funcția  fseek()  stabilește indicatorul de poziție al fișierului pentru fluxul indicat de
       stream.  Noua poziție, măsurată în octeți, se obține prin adăugarea de  offset  octeți  la
       poziția  specificată  de  whence.   Dacă  whence  este  stabilit la SEEK_SET, SEEK_CUR sau
       SEEK_END, poziția este relativă la începutul fișierului, la indicatorul  poziției  curente
       sau,  respectiv,  la  sfârșitul  fișierului.   Un  apel  reușit  la funcția fseek() șterge
       indicatorul de sfârșit de fișier al fluxului și anulează orice efect al funcției ungetc(3)
       asupra aceluiași flux.

       Funcția  ftell()  obține  valoarea  curentă a indicatorului de poziție a fișierului pentru
       fluxul indicat de stream.

       Funcția rewind() stabilește indicatorul de poziție al fișierului pentru fluxul indicat  de
       stream la începutul fișierului.  Este echivalentă cu:

              (void) fseek(stream, 0L, SEEK_SET)

       cu  excepția  faptului că indicatorul de eroare pentru flux este, de asemenea, eliminat (a
       se vedea clearerr(3)).

       Funcțiile fgetpos() ș i fsetpos() sunt interfețe alternative echivalente cu  ftell()  ș  i
       fseek()  (cu  whence stabilit la SEEK_SET), care stabilesc și stochează valoarea curentă a
       poziției fișierului în sau din obiectul la care  face  referire  pos.   Pe  unele  sisteme
       non-UNIX,  un  obiect  fpos_t  poate  fi un obiect complex și aceste rutine pot fi singura
       modalitate de a repoziționa portabil un flux de text.

       În cazul în care fluxul se referă la un fișier  obișnuit  și  poziția  fluxului  rezultată
       depășește  dimensiunea  fișierului,  scrierile ulterioare vor extinde fișierul cu o gaură,
       până la poziția de deplasare, înainte de a trimite orice date.  A se vedea lseek(2) pentru
       detalii privind semantica de căutare a fișierelor.

VALOAREA RETURNATĂ

       Funcția  rewind()  nu  returnează  nicio  valoare.   La  finalizarea cu succes, fgetpos(),
       fseek(), fsetpos() returnează 0, iar ftell() returnează poziția curentă.  În caz  contrar,
       se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI

       EINVAL Argumentul  whence  la  fseek()  nu  a  fost SEEK_SET, SEEK_END sau SEEK_CUR.  Sau:
              poziția rezultată a fișierului ar fi fost negativă.

       ESPIPE Descriptorul de fișier care stă la baza stream nu poate fi căutat (de  exemplu,  se
              referă la o conductă, FIFO sau soclu).

       Funcțiile  fgetpos(),  fseek(),  fsetpos()  și  ftell()  pot, de asemenea, să eșueze și să
       configureze errno pentru oricare dintre erorile  specificate  pentru  rutinele  fflush(3),
       fstat(2), lseek(2) și malloc(3).

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │InterfațăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │fseek(), ftell(), rewind(), fgetpos(), fsetpos()           │ Siguranța firelor │ MT-Safe │
       └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2001, POSIX.1-2008, C99.

CONSULTAȚI ȘI

       lseek(2), fseeko(3)

TRADUCERE

       Traducerea  în  limba  română  a  acestui  manual  a  fost  creată  de Remus-Gabriel Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară cu
       privire la condiții privind drepturile de autor.  NU se asumă Nicio RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui  manual,  vă  rugăm  să  trimiteți  un  e-mail  la
       ⟨translation-team-ro@lists.sourceforge.net⟩.