C语言rewind()函数

rewind()函数将文件指针设置在流的开头。在需要多次使用流时,这就很有用。

rewind()函数的语法:

void rewind(FILE *stream)

示例:

创建一个源文件:rewind-file.c,其代码如下所示 -

#include<stdio.h>   
void main() {
    FILE *fp;
    char c;

    fp = fopen("string-file.txt", "r");
    while ((c = fgetc(fp)) != EOF) {
        printf("%c", c);
    }

    rewind(fp); // moves the file pointer at beginning of the file  
    // 不用重新打开文件,直接从头读取内容
    while ((c = fgetc(fp)) != EOF) {
        printf("%c", c);
    }

    fclose(fp);

}

创建一个文本文件:string-file.txt,内容如下 -

this is rewind()function from zaixian tutorials.

执行上面示例代码后,得到以下结果 -

this is rewind()function from zaixian tutorials.
this is rewind()function from zaixian tutorials.

如上所示,rewind()函数将文件指针移动到文件的开头,这就是为什么文件string-file.txt中的内容被打印2次。 如果不调用rewind()函数,文件中的内容将只打印一次。


上一篇: C语言fseek()函数 下一篇: C语言ftell()函数