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()函式,檔案中的內容將只列印一次。