rewind

Defined in header <stdio.h>
1
void rewind( FILE *stream );

Moves the file position indicator to the beginning of the given file stream.

The function is equivalent to fseek(stream, 0, SEEK_SET);, except that end-of-file and error indicators are cleared.

The function drops any effects from previous calls to ungetc.

Parameters

stream - file stream to modify

Return value

(none).

Example

This example shows how to read a file twice.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
  
char str[20];
  
int main(void)
{
    FILE *f;
    char ch;
  
    f = fopen("file.txt", "w");
    for (ch = '0'; ch <= '9'; ch++) {
        fputc(ch, f);
    }
    fclose(f);
  
    f = fopen("file.txt", "r");
    fread(str, 1, 10, f);
    puts(str);
  
    rewind(f);
    fread(str, 1, 10, f);
    puts(str);
    fclose(f);
  
    return 0;
}

Output:

1
2
0123456789
0123456789

References

  • C11 standard (ISO/IEC 9899:2011):
    • 7.21.9.5 The rewind function (p: 338)
  • C99 standard (ISO/IEC 9899:1999):
    • 7.19.9.5 The rewind function (p: 304)
  • C89/C90 standard (ISO/IEC 9899:1990):
    • 4.9.9.5 The rewind function

See also

moves the file position indicator to a specific location in a file
(function)
C++ documentation for rewind
doc_C_Language
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.