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()
函数,文件中的内容将只打印一次。