C语言 rewind()
函数用于将文件指针的位置移动到文件的起始位置,它也是移动文件指针位置一种函数,等价于fseek(file, 0, SEEK_SET);。
语法
void rewind(FILE *fp);
参数
- fp:文件指针.
返回值
没有返回值,仅用来移动文件指针到文件起始位置。
例子
现介绍一个简单的例子,了解C语言 rewind()
函数 的使用方法。
先准备一个文件yxjc123.txt,内容如下:
123456789
这里结合 fopen(),fclose()、fgetc()函数介绍该函数的使用:
#include <stdio.h>
#include<string.h>
int main( )
{
FILE *file; //定义文件指针
char c;//读取字符
file = fopen("d:/yxjc123.txt", "r");//打开文件
if(NULL == file) {
perror("打开文件失败");
return -1;
}
//第一次读取
printf("第1次读取:");
c=fgetc(file);
//判断是否到达文件末尾
while( !feof(file) )
{
printf("%c", c);
c=fgetc(file);
}
printf("\n");
//移动指针到文件开头
rewind(file);//等价于fseek(file, 0, SEEK_SET);
printf("第2次读取:");
//第二次读取 输出1,3,5,7,9
c=fgetc(file);
//判断是否到达文件末尾
while( !feof(file) )
{
printf("%c", c);
fseek(file, 1, SEEK_CUR);//移动步长1
c=fgetc(file);
}
fclose(file); //关闭文件
getchar();
return 0;
}
输出:
在上面的例子中,
第一次读取全部输出123456789,然后我们使用函数frewind()将指针移动到了文件的开头,
第二次读取的时候读取1,3,5,7,9,每次读取完变移动一个单位的指针,这样可以间隔读取。