NOME¶
fgetpos, fseek, fsetpos, ftell, rewind - reposiciona um fluxo
SINOPSE¶
#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);
DESCRIÇÃO¶
A função
fseek seta o indicador de posição de
arquivo do fluxo apontado por
stream. A nova posição,
medida em bytes, é obtida pelo acréscimo de
offset bytes
à posição especificada por
whence. Se
whence é setado para
SEEK_SET,
SEEK_CUR, ou
SEEK_END, o offset é relativo ao início do arquivo, ao
indicador de posição corrente, ou ao fim de arquivo,
respectivamente. Uma chamada bem-sucedida à função
fseek limpa o indicador de fim de arquivo para o fluxo e desfaz
qualquer efeito da função
ungetc(3) no mesmo fluxo.
A função
ftell obtém o valor corrente do indicador
de posição de arquivo do fluxo apontado por
stream.
A função
rewind seta o indicador de posição
de arquivo do fluxo apontado por
stream para o início do
arquivo. É equivalente a:
(void)fseek(stream, 0L, SEEK_SET)
exceto pelo fato de que o indicador de erro do fluxo também é
limpo (veja
clearerr(3)).
As funções
fgetpos e
fsetpos são interfaces
alternativas equivalentes a
ftell e
fseek (com whence setado
para
SEEK_SET), configurando e armazenando o valor corrente do offset
do arquivo do objeto referenciado por
pos. Em alguns sistemas
não-UNIX, um objeto
fpos_t pode ser um objeto complexo e estas
rotinas podem ser a única maneira portável de reposicionar um
fluxo de texto.
VALORES DE RETORNO¶
A função
rewind não retorna valor. Em caso de
término bem-sucedido,
fgetpos,
fseek,
fsetpos
retornam 0, e
ftell retorna o offset corrente. Caso contrário,
-1 é retornado e a variável global errno é setada para
indicar o erro.
ERROS¶
- EBADF
- O fluxo especificado não é um fluxo
vasculhável.
- EINVAL
- O argumento whence de fseek não era SEEK_SET,
SEEK_END, ou SEEK_CUR.
As funções
fgetpos,
fseek,
fsetpos, e
ftell também podem falhar e setar
errno para qualquer um
dos erros especificados para as rotinas
fflush(3),
fstat(2),
lseek(2), e
malloc(3).
VEJA TAMBÉM¶
lseek(2)
PADRÕES¶
As funções
fgetpos,
fsetpos,
fseek,
ftell, e
rewind estão em conformidade com ANSI
X3.159-1989 (``ANSI C'').
TRADUÇÃO PARA A LÍNGUA PORTUGUESA¶
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (tradução)
XXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisão)