C语言文件函数

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;
 
}

输出:

C语言rewind()函数:移动文件指针

在上面的例子中,

第一次读取全部输出123456789,然后我们使用函数frewind()将指针移动到了文件的开头,

第二次读取的时候读取1,3,5,7,9,每次读取完变移动一个单位的指针,这样可以间隔读取。