fseek

Autres langues

Langue: pl

Autres versions - même langue

Version: 1993-11-29 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

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

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)