Provided by: manpages-pt-br-dev_4.15.0-9_all bug

NOME

       fgetpos, fseek, fsetpos, ftell, rewind - reposiciona um fluxo

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.

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).

       ┌───────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │InterfaceAtributoValor   │
       ├───────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │fseek(), ftell(), rewind(), fgetpos(), fsetpos()               │ Thread safety │ MT-Safe │
       └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘

DE ACORDO COM

       POSIX.1-2001, POSIX.1-2008, C89, C99.

VEJA TAMBÉM

       lseek(2), fseeko(3)

COLOFÃO

       Esta página faz parte da versão 5.13 do projeto Linux man-pages. Uma descrição do projeto,
       informações  sobre  relatórios  de  bugs  e  a  versão mais recente desta página podem ser
       encontradas em https://www.kernel.org/doc/man-pages/.

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⟩.