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, fpos_t *pos);
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
Funkcja
fseek ustawia wskaźnik pozycji pliku dla strumienia
wskazywanego prez
stream. Nową pozycję, określoną w
bajtach, otrzymuje się dodając
offset bajtów do pozycji
określonej przez
whence. Gdy
whence jest ustawine na
SEEK_SET,
SEEK_CUR lub
SEEK_END, ofset jest
określany, odpowiednio, względem początku pliku, wskaźnika
bieżącej pozycji, lub końca plku. 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
rownoważne
ftell i
fseek (z whence ustawionym na
SEEK_SET), służące odpowiednio, do zachowania
bieżącej wartości ofsetu 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ą
routines dawać jedyną przenośną możliwość
zmiany pozycji strumienia tekstowego.
RETURN VALUE¶
Funkcja
rewind nie zwraca wartości. Przy pomyślnym
zakończeniu,
fgetpos,
fseek i
fsetpos zwracają
0, a
ftell zwraca bieżący ofset. W przeciwnym przyoadku
zwracane jest -1, a rodzaj błędu jest określony poprzez
ustawienie zmiennej globalnej errno.
BŁĘDY¶
- EBADF
- Podanego strumienia stream nie można
pozycjonować.
- EINVAL
- Argument fseek whence nie jest jednym z
SEEK_SET, SEEK_END lub SEEK_CUR.
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).
ZGODNE Z¶
Funkcje
fgetpos,
fsetpos,
fseek,
ftell i
rewind spełniają wymogi ANSI X3.159-1989 (``ANSI C'').
ZOBACZ TAKŻE¶
lseek(2),
fseeko(3)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
- man --locale=C 3 fseek
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.