顺序读写函数的介绍:fread & fwrite

目录

函数介绍:

fwrite:

参数说明:

 函数大意:

 举例:

 文件效果:

fread:

函数大意:

 举例:

结果展示:


函数介绍:

fwrite:

参数说明:

  • const void*potr: 指针指向要写出数据的内存首地址
  • size t size: 要写出数据的 基本单元的字节大小,写出单位的大小
  • size t nmemb:要写出数据的 基本单元的个数
  • FILE*stream: 打开的文件指针 

 函数大意:

把一个内存空间中的数据,按照要求以二进制的形式写进文件中,要求就是写入几个元素,以及要知道元素的字节大小是多少。

 举例:

int main()
{
  int arr[] = { 1,2,3,4,5,6,7 };
  FILE* pf = fopen("data.txt","wb");
  if (pf == NULL)
     { 
        perror("fopen");
       return 1;
     }
  fwrite(arr,sizeof(int),7,pf);
  fclose(pf);
  pf = NULL;
  return 0;
}

注意: 注意因为fwrite是二进制的形式写入文件中,所以打开文件的时候应该使用wb

wb用法:http://t.csdn.cn/Iq0qH

 文件效果:

顺序读写函数的介绍:fread & fwrite_第1张图片

 因为是二进制写入,所以在文件文本是看不到内容的,所以我们使用rb进行读取数据看是否正确,而这时候就要使用fread

fread:

函数大意:

参数内容和fwrite一样,但意思是,以二进制的形式对文件中的数据进行读取,按照要求读取后,放入指定的空间内存中,读取要求是读取的元素个数,以及要知道元素的字节大小,和fwrite是反着来的。

 举例:

int main()
{

  int arr[10] = {0};
  FILE* pf = fopen("data.txt","rb");
  if (pf == NULL)
   {
    perror("fopen");
    return 1;
   }
  fread(arr,sizeof(int),7,pf);
  int i = 0;
  for (i = 0;i< 10;i++)
    {
      printf("%d\n",arr[i]);
    }
  fclose(pf);
  pf = NULL;
  return 0;

}

 在fwrite在文件中放入七个元素的基础上使用fread读取文件中的七个元素,注意如果读取的个数超过了文件中元素的个数,那么剩下的部分会因为二进制放入的原因,变成0进行补充。

结果展示:

顺序读写函数的介绍:fread & fwrite_第2张图片

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