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 fseek
do , rewind
limpa os indicadores de erro do fluxo e o indicador de fim de arquivo. Além disso, ao contrário fseek
do , 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