std::rewind
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Input/output library 
 
 
 
 
 
 
 
 
 
 
 
 
 Print functions (C++23)
 Buffers
(C++23)
(C++98/26*)
(C++20)
 Streams
 Abstractions
 File I/O
 String I/O
 Array I/O
(C++23)
(C++23)
(C++23)
(C++98/26*)
(C++98/26*)
(C++98/26*)
 Synchronized Output
(C++20)
 Types
 Error category interface
(C++11)
(C++11)
C-style I/O 
 
  
 
 
 
 
 
 
 
 
 
 
 Types and objects
 Functions
 File access
 Direct input/output
 Unformatted input/output
 Formatted input
(C++11)(C++11)(C++11)    
(C++11)(C++11)(C++11)    
 Formatted output
(C++11)
(C++11)    
 File positioning
rewind
 Error handling
 Operations on files
Defined in header 
 
 
<cstdio> 
 void rewind( std::FILE * stream );
 
 
Moves the file position indicator to the beginning of the given file stream.
The function is equivalent to std::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 .
Contents
[edit] Parameters
 stream
 -
 file stream to modify
[edit] Return value
(none)
[edit] Example
Run this code
#include <array> #include <cstdio> int main() { std::FILE * f = std::fopen ("file.txt", "w"); for (char ch = '0'; ch <= '9'; ch++) std::fputc (ch, f); std::fclose (f); std::array <char, 20> str; std::FILE * f2 = std::fopen ("file.txt", "r"); const unsigned size1 = std::fread (str.data(), 1, str.size(), f2); std::puts (str.data()); std::printf ("size1 = %u\n", size1); std::rewind(f2); const unsigned size2 = std::fread (str.data(), 1, str.size(), f2); std::puts (str.data()); std::printf ("size2 = %u", size2); std::fclose (f2); }
Output:
0123456789 size1 =わ 10 0123456789 size2 = 10
[edit] See also
C documentation  for rewind