Provided by: manpages-pl-dev_4.21.0-2_all 

NAZWA
fgetpos, fseek, fsetpos, ftell, rewind - zmiana pozycji 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.
If the stream refers to a regular file and the resulting stream offset is beyond the size of the file,
subsequent writes will extend the file with a hole, up to the offset, before committing any data. See
lseek(2) for details on file seeking semantics.
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).
┌────────────────────────────────────────────────────────────────────┬────────────────────────┬─────────┐
│ Interfejs │ Atrybut │ Wartość │
├────────────────────────────────────────────────────────────────────┼────────────────────────┼─────────┤
│ fseek(), ftell(), rewind(), fgetpos(), fsetpos() │ Bezpieczeństwo wątkowe │ MT-Safe │
└────────────────────────────────────────────────────────────────────┴────────────────────────┴─────────┘
STANDARDY
POSIX.1-2001, POSIX.1-2008, C99.
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 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.
Linux man-pages 6.03 29 grudnia 2022 r. fseek(3)