Provided by: manpages-pt-br-dev_4.23.1-1_all
NOME
fgetpos, fseek, fsetpos, ftell, rewind - reposiciona um fluxo
BIBLIOTECA
Biblioteca C Padrão (libc, -lc)
SINOPSE
#include <stdio.h> int fseek(FILE *fluxo, long deslocamento, int de_onde); long ftell(FILE *stream); void rewind(FILE *fluxo); int fgetpos(FILE *restrict fluxo, fpos_t *restrict pos); int fsetpos(FILE *fluxo, const fpos_t *pos);
DESCRIÇÃO
A função fseek() define o indicador de posição de arquivo do fluxo apontado por fluxo. A nova posição, medida em bytes, é obtida pelo acréscimo de deslocamento bytes à posição especificada por de_onde. Se de_onde é definido para SEEK_SET, SEEK_CUR ou SEEK_END, o deslocamento é relativo ao início do arquivo, ao indicador de posição atual, 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 fluxo. A função rewind() define o indicador de posição de arquivo do fluxo apontado por fluxo 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 de_onde definido para SEEK_SET), definindo e armazenando o valor atual do deslocamento 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. Se o fluxo se referir a um arquivo regular e o deslocamento do fluxo resultante estiver além do tamanho do arquivo, as gravações subsequentes estenderão o arquivo com um furo, até o deslocamento, antes de confirmar qualquer dado. Consulte lseek(2) para obter detalhes sobre a semântica de busca de arquivos.
VALOR 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 deslocamento atual. Caso contrário, -1 é retornado e errno é definido para indicar o erro.
ERROS
EINVAL O argumento de_onde de fseek() não era SEEK_SET, SEEK_END ou SEEK_CUR. Ou: o deslocamento de arquivo resultando seria negativo. ESPIPE O descritor de arquivo subjacente ao fluxo não é pesquisável (por exemplo, ele se refere a um encadeamento, FIFO ou soquete). As funções fgetpos(), fseek(), fsetpos() e ftell() também podem falhar e definir errno para qualquer um dos erros especificados para as rotinas fflush(3), fstat(2), lseek(2) e malloc(3).
ATRIBUTOS
Para uma explicação dos termos usados nesta seção, consulte attributes(7). ┌───────────────────────────────────────────────────────────────┬───────────────┬─────────┐ │Interface │ Atributo │ Valor │ ├───────────────────────────────────────────────────────────────┼───────────────┼─────────┤ │fseek(), ftell(), rewind(), fgetpos(), fsetpos() │ Thread safety │ MT-Safe │ └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘
PADRÕES
C11, POSIX.1-2008.
HISTÓRICO
POSIX.1-2001, C89.
VEJA TAMBÉM
lseek(2), fseeko(3)
TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por Rubens de Jesus Nogueira <darkseid99@usa.net>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>. Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita. Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores ⟨debian-l10n-portuguese@lists.debian.org⟩.