Partilhar via


rewind

Reposiciona o ponteiro de arquivo para o início de um arquivo.

Sintaxe

void rewind(
   FILE *stream
);

Parâmetros

stream
Ponteiro para a estrutura FILE.

Comentários

A rewind função reposiciona o ponteiro do arquivo associado stream ao início do arquivo. Uma chamada para rewind é semelhante a

(void) fseek(stream, 0L, SEEK_SET );

No entanto, ao contrário fseekdo , rewind limpa os indicadores de erro do fluxo e o indicador de fim de arquivo. Além disso, ao contrário fseekdo , rewind não retorna um valor para indicar se o ponteiro foi movido com êxito.

Para limpar o buffer do teclado, use rewind com o fluxo stdin, que está associado ao teclado por padrão.

Se stream for um NULL ponteiro, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, essa função retornará e errno será definida como EINVAL.

Para obter informações sobre esses e outros códigos de erro, confira errno, _doserrno, _sys_errlist e _sys_nerr.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Rotina Cabeçalho necessário
rewind <stdio.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Todas as versões das bibliotecas em tempo de execução C.

Exemplo

// crt_rewind.c
/* This program first opens a file named
* crt_rewind.out for input and output and writes two
* integers to the file. Next, it uses rewind to
* reposition the file pointer to the beginning of
* the file and reads the data back in.
*/
#include <stdio.h>

int main( void )
{
   FILE *stream;
   int data1, data2;

   data1 = 1;
   data2 = -37;

   fopen_s( &stream, "crt_rewind.out", "w+" );
   if( stream != NULL )
   {
      fprintf( stream, "%d %d", data1, data2 );
      printf( "The values written are: %d and %d\n", data1, data2 );
      rewind( stream );
      fscanf_s( stream, "%d %d", &data1, &data2 );
      printf( "The values read are: %d and %d\n", data1, data2 );
      fclose( stream );
   }
}

Saída

The values written are: 1 and -37
The values read are: 1 and -37

Confira também

E/S de fluxo