Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Repositions the file pointer to the beginning of a file.
voidrewind(FILE*stream);
Routine | Required Header | Compatibility |
rewind | <stdio.h> | ANSI, Win 95, Win NT |
For additional compatibility information, see Compatibility in the Introduction.
Libraries
LIBC.LIB | Single thread static library, retail version |
LIBCMT.LIB | Multithread static library, retail version |
MSVCRT.LIB | Import library for MSVCRT.DLL, retail version |
Return Value
None
Parameter
stream
Pointer to FILE structure
Remarks
The rewind function repositions the file pointer associated with stream to the beginning of the file. A call to rewind is similar to
(void) fseek(stream,0L,SEEK_SET);
However, unlike fseek, rewind clears the error indicators for the stream as well as the end-of-file indicator. Also, unlike fseek, rewind does not return a value to indicate whether the pointer was successfully moved.
To clear the keyboard buffer, use rewind with the stream stdin, which is associated with the keyboard by default.
Example
/* 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 );
}
}
Output
The values written are: 1 and -37
The values read are: 1 and -37