C语言中rewind函数的作用与用法

麻烦大家解释一下,谢谢!

  rewind函数
  作用:将文件内部的位置指针重新指向一个流(数据流/文件)的开头。
  用 法: void rewind(FILE *stream);
  注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。
  rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);[1]
  头文件: stdio.h
  返回值:无
  
  程序示例:
  #include <stdio.h>
  #include <dir.h>
  int main(void)
  {
  FILE *fp;
  char fname[10] = "TXXXXXX", *newname, first;
  newname = mktemp(fname);
  fp = fopen(newname,"w+");
  if(NULL==fp)
  return 1;
  fprintf(fp,"abcdefghijklmnopqrstuvwxyz");
  rewind(fp);
  fscanf(fp,"%c",&first);
  printf("The first character is: %c\n",first);
  fclose(fp);
  remove(newname);
  return 0;
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-06
rewind的函数就是把文件指针从你现在读取的位置,重新回到文件开头。本回答被提问者采纳
第2个回答  推荐于2017-10-12
C库函数 void rewind(FILE *stream) 设置给定流的文件的开头的文件位置。

声明

以下是声明rewind() 函数。
void rewind(FILE *stream)

参数

stream -- 这是一个文件对象的标识流的指针。

返回值

这个函数不返回任何值。

例子

下面的例子演示了如何使用rewind() 函数。
#include <stdio.h>

int main()
{
FILE *fp;
int ch;

fp = fopen("file.txt", "r");

if( fp != NULL )
{
while( !feof(fp) )
{
ch = fgetc(fp);
printf("%c", ch);
}
rewind(fp);

while( !feof(fp) )
{
ch = fgetc(fp);
printf("%c", ch);
}
fclose(fp);
}

return(0);
}

假设我们有一个文本文件file.txt中有以下内容:

This is yiibai.com

现在让我们来编译和运行上面的程序,这将产生以下结果:
This is yiibai.com
This is yiibai.com
相似回答