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