rewind

Description

Repositions the file pointer to the beginning of a file.

#include <stdio.h>

void rewind( FILE *stream );

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 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.

Return Value

The rewind function has no return value.

Compatibility

Standards:ANSI, UNIX

16-Bit:DOS, QWIN, WIN, WIN DLL

32-Bit:DOS32X

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