std::rewind
来自cppreference.com
在标头 <cstdio> 定义
|
||
void rewind( std::FILE* stream ); |
||
移动文件位置指示器到给定文件流的起始。
函数等价于 std::fseek(stream, 0, SEEK_SET);,但它清除文件尾和错误指示器。
此函数丢弃任何来自先前对 ungetc 调用的效果。
参数
stream | - | 要修改的文件流 |
返回值
(无)
示例
运行此代码
#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); }
输出:
0123456789 size1 = 10 0123456789 size2 = 10
参阅
移动文件位置指示器到文件中的指定位置 (函数) |