stdio.h
Función rewind ANSI C
void rewind(FILE *stream);
La función rewind coloca el indicador de posición de fichero para el stream apuntado por stream al comienzo del fichero. Es equivalente a (void) fseek( stream, 0L, SEEK_SET ) excepto que el indicador de errores para el stream es despejado.
Valor de retorno:
La función rewind no retorna ningún valor.
Ejemplo:
#include <stdio.h> int main() { char nombre[11] = "datos4.dat", mensaje[81]="Esto es nua rpueba usando fgetpos y fsetpos."; FILE *fichero; fpos_t posicion=0, comienzo; fichero = fopen( nombre, "w+" ); printf( "Fichero: %s -> ", nombre ); if( fichero ) printf( "creado (ABIERTO)\n" ); else { printf( "Error (NO ABIERTO)\n" ); return 1; } fgetpos( fichero, &comienzo ); printf( "Posicion del fichero: %d\n", posicion ); fprintf( fichero, mensaje ); printf( "\nEscrito: \"%s\"\n", mensaje ); fgetpos( fichero, &posicion ); printf( "Posicion del fichero: %d\n", posicion ); fsetpos( fichero, &comienzo ); fprintf( fichero, "%s", "Esto es una prueba" ); printf( "Corregiendo errores...Escrito: \"Esto es una prueba\"\n" ); fgetpos( fichero, &posicion ); printf( "Posicion del fichero: %d\n", posicion ); rewind( fichero ); printf( "\"Rebobinando\" el fichero -> Vuelta al comienzo\n" ); fgetpos( fichero, &posicion ); printf( "Posicion del fichero: %d\n", posicion ); printf( "\nLeyendo del fichero \"%s\"\n", nombre ); fgets( mensaje, 81, fichero ); printf( "\"%s\"\n\n", mensaje ); fgetpos( fichero, &posicion ); printf( "Posicion del fichero: %d\n", posicion ); if( !fclose(fichero) ) printf( "Fichero cerrado\n" ); else { printf( "Error: fichero NO CERRADO\n" ); return 1; } return 0; }