C 参考手册

定义于头文件 <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 standard (ISO/IEC 9899:2011):
  • 7.21.9.5 The rewind function (p: 338)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.9.5 The rewind function (p: 304)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.9.5 The rewind function

参阅

将文件位置指示符移动到文件中的指定位置
(函数)