Provided by: manpages-pl-dev_0.7-1_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

       EBADF  Podanego strumienia stream nie można pozycjonować.

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

       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  4.07  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   man   są:   Andrzej
       Krzysztofowicz  (PTM)  <ankry@mif.pg.gda.pl>,  Robert Luberda <robert@debian.org> i Michał
       Kułach <michal.kulach@gmail.com>.

       Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów  na
       stronie   http://sourceforge.net/projects/manpages-pl/.   Jest   zgodne   z  wersją   4.07
       oryginału.