Repositions the file pointer to the beginning of a file.
#include <stdio.h>
void rewind( FILE *stream );
stream | Pointer to FILE structure |
The rewind function repositions the file pointer associated with stream to the beginning of the file. A call to rewind is equivalent to
(void) fseek( stream, 0L, SEEK_SET );
except that rewind clears the error indicators for the stream, and fseek does not. Both rewind and fseek clear the end-of-file indicator. Also, fseek returns a value that indicates whether the pointer was successfully moved, but rewind does not return any value.
You can also use the rewind function to clear the keyboard buffer. Use the rewind function with the stream stdin, which is associated with the keyboard by default.
The rewind function has no return value.
Standards:ANSI, UNIX
16-Bit:DOS, QWIN, WIN, WIN DLL
32-Bit:DOS32X
/* REWIND.C: This program first opens a file named 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>
void main( void )
{
FILE *stream;
int data1, data2;
data1 = 1;
data2 = -37;
if( (stream = fopen( "rewind.out", "w+" )) != NULL )
{
fprintf( stream, "%d %d", data1, data2 );
printf( "The values written are: %d and %d\n", data1, data2 );
rewind( stream );
fscanf( stream, "%d %d", &data1, &data2 );
printf( "The values read are: %d and %d\n", data1, data2 );
fclose( stream );
}
}
The values written are: 1 and -37
The values read are: 1 and -37