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