# std::rewind

< cpp‎ | io‎ | c

定义于头文件 `<cstdio>` |  |
void rewind( std::FILE* stream ); |  |

移动文件位置指示器到给定文件流的起始。

函数等价于 std::fseek(stream, 0, SEEK_SET); ，除了它清除文件尾和错误指示器。

此函数丢弃任何来自先前对 ungetc 调用的效果。

### 参数

stream | - | 要修改的文件流

### 返回值

（无）

### 示例

    #include <cstdio>

    int main()
    {
        std::FILE *f;
        char ch;
        char str[20];

        f = std::fopen("file.txt", "w");
        for (ch = '0'; ch <= '9'; ch++) {
            std::fputc(ch, f);
        }
        std::fclose(f);

        std::FILE* f2 = std::fopen("file.txt", "r");
        unsigned int size = std::fread(str, 1, 10, f2);
        std::puts(str);
        std::printf("\n%u\n",size);

        std::rewind(f2);
        unsigned int size2 = std::fread(str, 1, 10, f2);
        std::puts(str);
        std::printf("\n%u",size2);
        std::fclose(f2);
    }

### 参阅

fseek | 移动文件位置指示器到文件中的指定位置 (函数)