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 yiibai tutorials.

執行上面示例代碼後,得到以下結果 -

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

如上所示,rewind()函數將文件指針移動到文件的開頭,這就是爲什麼文件string-file.txt中的內容被打印2次。 如果不調用rewind()函數,文件中的內容將只打印一次。