Provided by: manpages-pl-dev_4.13-4_all bug

NAZWA

       fgetpos, fseek, fsetpos, ftell, rewind - zmiana pozycji w strumieniu

SKŁADNIA

       #include <stdio.h>

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

       long ftell(FILE *stream);

       void rewind(FILE *stream);

       int fgetpos(FILE *stream, fpos_t *pos);

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

OPIS

       Funkcja  fseek()  ustawia wskaźnik pozycji pliku dla strumienia wskazywanego przez stream.
       Nową pozycję, określoną w  bajtach,  otrzymuje  się,  dodając  offset  bajtów  do  pozycji
       określonej  przez  whence.  Gdy  whence jest ustawione na SEEK_SET, SEEK_CUR lub SEEK_END,
       offset jest określany, odpowiednio, względem początku pliku,  wskaźnika  bieżącej  pozycji
       lub  końca  pliku. Pomyślne wywołanie funkcji fseek() powoduje wyczyszczenie sygnalizatora
       końca pliku dla strumienia i wycofuje wszelkie efekty funkcji ungetc(3)  dla  tego  samego
       strumienia.

       Funkcja   ftell()   pobiera   bieżącą  wartość  wskaźnika  pozycji  pliku  dla  strumienia
       wskazywanego przez stream.

       Funkcja rewind() ustawia wskaźnik pozycji pliku dla strumienia wskazywanego  przez  stream
       na początku pliku. Jest równoważna:

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

       z  tą  różnicą,  że  jest  również  czyszczony  wskaźnik błędu dla tego strumienia (zobacz
       clearerr(3)).

       Funkcje fgetpos() i fsetpos() stanowią alternatywne  interfejsy  równoważne  z  ftell()  i
       fseek()  (z  whence  ustawionym  na  SEEK_SET), służące odpowiednio do zachowania bieżącej
       wartości offsetu pliku w obiekcie wskazywanym przez pos i do ustawienia  tej  wartości  na
       podstawie  podanego  obiektu.  W niektórych systemach nieuniksowych obiekt fpos_t może być
       złożonym obiektem i powyższe funkcje mogą dawać jedyną przenośną możliwość zmiany  pozycji
       strumienia tekstowego.

WARTOŚĆ ZWRACANA

       Funkcja  rewind()  nie  zwraca  wartości. Przy pomyślnym zakończeniu, fgetpos(), fseek() i
       fsetpos() zwracają 0, a ftell() zwraca bieżący offset.  W  przeciwnym  przypadku  zwracane
       jest -1 i ustawiane jest errno, wskazujące na rodzaj błędu.

BŁĘDY

       EINVAL Argument  whence funkcji fseek() nie jest jednym z SEEK_SET, SEEK_END lub SEEK_CUR.
              Albo: wynikowe przesunięcie pliku będzie ujemne.

       ESPIPE Deskryptor pliku dla strumienia  stream  nie  pozwala  na  przestawianie  wskaźnika
              pozycji (na przykład odnosi się do potoku, kolejki FIFO lub gniazda).

       Funkcje  fgetpos(),  fseek(),  fsetpos()  i ftell mogą również zawieść, ustawiając w errno
       dowolny z błędów określonych dla funkcji fflush(3), fstat(2), lseek(2) i malloc(3).

ATRYBUTY

       Informacje  o  pojęciach  używanych  w  tym  rozdziale   można   znaleźć   w   podręczniku
       attributes(7).

       ┌────────────────────────────┬────────────────────────┬─────────┐
       │InterfejsAtrybutWartość │
       ├────────────────────────────┼────────────────────────┼─────────┤
       │fseek(), ftell(), rewind(), │ Bezpieczeństwo wątkowe │ MT-Safe │
       │fgetpos(), fsetpos()        │                        │         │
       └────────────────────────────┴────────────────────────┴─────────┘

ZGODNE Z

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

ZOBACZ TAKŻE

       lseek(2), fseeko(3)

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  5.10  projektu Linux man-pages. Opis
       projektu, informacje dotyczące zgłaszania błędów oraz  najnowszą  wersję  oryginału  można
       znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

T◈UMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej strony podręcznika są: Andrzej Krzysztofowicz
       <ankry@green.mf.pg.gda.pl>,   Robert   Luberda   <robert@debian.org>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.