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
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 [AT] usa.net> (tradução) XXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx [AT] xxx.xxx> (revisão)