rewind()函數(shù)將文件指針設(shè)置在流的開(kāi)頭。在需要多次使用流時(shí),這就很有用。
rewind()函數(shù)的語(yǔ)法:
void rewind(FILE *stream)
示例:
創(chuàng)建一個(gè)源文件: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
// 不用重新打開(kāi)文件,直接從頭讀取內(nèi)容
while ((c = fgetc(fp)) != EOF) {
printf("%c", c);
}
fclose(fp);
}
創(chuàng)建一個(gè)文本文件:string-file.txt,內(nèi)容如下 -
this is rewind()function from yiibai tutorials.
執(zhí)行上面示例代碼后,得到以下結(jié)果 -
this is rewind()function from yiibai tutorials.
this is rewind()function from yiibai tutorials.
如上所示,rewind()函數(shù)將文件指針移動(dòng)到文件的開(kāi)頭,這就是為什么文件string-file.txt中的內(nèi)容被打印2次。 如果不調(diào)用rewind()函數(shù),文件中的內(nèi)容將只打印一次。