Difference between revisions of "cpp/io/c/rewind"
From cppreference.com
m (Text replace - "{{cpp|" to "{{c|") |
m (linked the `ungetc`) |
||
(11 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | {{cpp/title | rewind }} | + | {{cpp/title|rewind }} |
− | {{cpp/io/c/ | + | {{cpp/io/c/navbar}} |
− | {{ddcl | header=cstdio | | + | {{ddcl|header=cstdio| |
− | void rewind( FILE *stream ); | + | void rewind( std::FILE* stream ); |
}} | }} | ||
− | Moves the file position indicator to the beginning of the given file stream. {{c| | + | Moves the file position indicator to the beginning of the given file stream. |
+ | |||
+ | The function is equivalent to {{c|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 {{lc|std::ungetc|ungetc}}. | ||
===Parameters=== | ===Parameters=== | ||
− | {{ | + | {{par begin}} |
− | {{ | + | {{par|stream|file stream to modify}} |
− | {{ | + | {{par end}} |
===Return value=== | ===Return value=== | ||
(none) | (none) | ||
+ | |||
+ | ===Example=== | ||
+ | {{example| | ||
+ | |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 | ||
+ | }} | ||
===See also=== | ===See also=== | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc inc|cpp/io/c/dsc fseek}} |
− | {{ | + | {{dsc see c|c/io/rewind}} |
+ | {{dsc end}} | ||
+ | |||
+ | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} |
Latest revision as of 09:24, 30 November 2022
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
moves the file position indicator to a specific location in a file (function) | |
C documentation for rewind
|