Namespaces
Variants

rewind

From cppreference.net
< c ‎ | io
定义于头文件 <stdio.h>
void rewind ( FILE * stream ) ;

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

该函数等效于 fseek ( stream, 0 , SEEK_SET ) ; ,不同之处在于会清除文件结束和错误指示器。

该函数会丢弃之前调用 ungetc 所产生的所有效果。

目录

参数

stream - 要修改的文件流

返回值

(无)

示例

此示例展示如何两次读取同一文件

#include <stdio.h>
char str[20];
int main(void)
{
    FILE *f;
    char ch;
    f = fopen("file.txt", "w");
    for (ch = '0'; ch <= '9'; ch++) {
        fputc(ch, f);
    }
    fclose(f);
    f = fopen("file.txt", "r");
    fread(str, 1, 10, f);
    puts(str);
    rewind(f);
    fread(str, 1, 10, f);
    puts(str);
    fclose(f);
    return 0;
}

输出:

0123456789
0123456789

参考文献

  • C11 标准 (ISO/IEC 9899:2011):
  • 7.21.9.5 rewind 函数 (p: 338)
  • C99 标准 (ISO/IEC 9899:1999):
  • 7.19.9.5 rewind 函数 (p: 304)
  • C89/C90 标准 (ISO/IEC 9899:1990):
  • 4.9.9.5 rewind 函数

参见

将文件位置指示器移动到文件中的特定位置
(函数)
C++ 文档 for rewind