文件的随机读写函数:ftell & rewind

目录

函数介绍:

ftell:

函数原型:

举例:

文件内容展示:

代码操作:

结果:

 rewind:

函数原型:

举例:

文件内容展示:

代码操作: 

结果:


函数介绍:

ftell:

返回文件指针相对于起始位置的偏移量(偏移值)。

函数原型:

 long int ftell ( FILE * stream );

举例:

文件内容展示:

文件的随机读写函数:ftell & rewind_第1张图片

代码操作:
int main()
{
  int arr[10] = {0};
  FILE* pf = fopen("data.txt","r");
  if (pf == NULL)
    {
       perror("fopen");
       return 1;
    }
 
 
//读文件,并设置变量接收读取的数据
  int ch = fgetc(pf);
//打印读取的数据
  printf("%c\n",ch);//a
 
//进行读取偏移
  fseek(pf,5,SEEK_CUR);
  int ch = fgetc(pf);
  printf("%c\n",ch);//g

  int pos = ftell(pf);
  printf("%d\n",pos);
 
  fclose(pf);
  pf = NULL;
  return 0;
 
}

int pos = ftell(pf); printf("%d\n",pos); 将指针举例起始位置的偏移值交给了pos 。

结果:

文件的随机读写函数:ftell & rewind_第2张图片

 rewind:

让文件指针的位置回到文件的起始位置。

函数原型:

void rewind ( FILE * stream );

举例:

文件内容展示:

文件的随机读写函数:ftell & rewind_第3张图片

代码操作: 
int main()
{
  int arr[10] = {0};
  FILE* pf = fopen("data.txt","r");
  if (pf == NULL)
    {
       perror("fopen");
       return 1;
    }
 
 
//读文件,并设置变量接收读取的数据
  int ch = fgetc(pf);
//打印读取的数据
  printf("%c\n",ch);//a
 
//进行读取偏移
  fseek(pf,5,SEEK_CUR);
  int ch = fgetc(pf);
  printf("%c\n",ch);//g

//把文件内部的指针返回到起始位置
  rewind(pf);
  ch = fgetc(pf);
  printf("%c\n",ch);
 
  fclose(pf);
  pf = NULL;
  return 0;
 
}
结果:

文件的随机读写函数:ftell & rewind_第4张图片 

因为文件内部的指针返回了起始位置,当再度使用fgetc时,读出的字符就是起始位置所占据的字符,也就是字符a 

你可能感兴趣的:(数据存储,文件操作,C语言,算法,数据结构,c语言,函数,文件操作,数据存储)