rewind
Cambia la posición del puntero de archivo al principio de un archivo.
Sintaxis
void rewind(
FILE *stream
);
Parámetros
stream
Puntero a la estructura FILE
.
Comentarios
La rewind
función cambia la posición del puntero de archivo asociado stream
al principio del archivo. Una llamada a es similar a rewind
(void) fseek(stream, 0L, SEEK_SET );
Sin embargo, a diferencia fseek
de , rewind
borra los indicadores de error de la secuencia y el indicador de fin de archivo. Además, a diferencia fseek
de , rewind
no devuelve un valor para indicar si el puntero se ha movido correctamente.
Para borrar el búfer de teclado, use rewind
con la secuencia stdin
, que está asociada al teclado de forma predeterminada.
Si stream es un NULL
puntero, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, esta función devuelve y errno
se establece en EINVAL
.
Para información sobre estos y otros códigos de error, consulte errno
, _doserrno
_sys_errlist
y _sys_nerr
.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Requisitos
Routine | Encabezado necesario |
---|---|
rewind |
<stdio.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Bibliotecas
Todas las versiones de las bibliotecas en tiempo de ejecución de C.
Ejemplo
// 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 );
}
}
Output
The values written are: 1 and -37
The values read are: 1 and -37