plucky (3) fgetpos.3.gz

Provided by: manpages-pl-dev_4.25.1-1_all bug

NAZWA

       fgetpos, fseek, fsetpos, ftell, rewind - zmienia pozycję w strumieniu

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

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

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.

       Jeśli  strumień  odnosi  się  do  zwykłego  pliku,  a  wynikowe przesunięcie strumienia znajduje się poza
       rozmiarem pliku, kolejny zapis rozszerzy plik aż do przesunięcia, za pomocą dziur,  przed  zatwierdzeniem
       danych.  Więcej  informacji  o  szczegółach  zachowania  przeszukiwania  pliku znajduje się w podręczniku
       lseek(2).

WARTOŚĆ ZWRACANA

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

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(), fgetpos(), fsetpos()               │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
       └───────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘

STANDARDY

       C11, POSIX.1-2008.

HISTORIA

       POSIX.1-2001, C89.

ZOBACZ TAKŻE

       lseek(2), fseeko(3)

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⟩.