目录
函数介绍:
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
文件效果:
因为是二进制写入,所以在文件文本是看不到内容的,所以我们使用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进行补充。