最近在做项目需要把内存数据写入到文件中,然后再从文件中以二进制方式读出使用。由于接触Linux开发时间不长,开始询问度娘,度娘的回答是使用以wb方式打开文件后使用fwrite把数据写入文件,以rb方式打开文件后使用fread读出数据。下面详细介绍一下相关的函数极其使用说明。
需要用的头文件为stdio.h,函数结构为fwrite、fread、fseek、ftell、fstat。
1. fwrite
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
返回值:返回实际写入的数据块数目
(1)buffer: 是一个指针,对fwrite来说,是要获取数据的地址;
(2)size: 要写入内容的单字节数;
(3)count: 要进行写入size字节的数据项的个数;
(4)stream: 目标文件指针;
(5)返回实际写入的数据项个数count。
说明:写入到文件的哪里? 这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。
注意:这个函数以二进制形式对文件进行操作&
需要用的头文件为stdio.h,函数结构为fwrite、fread、fseek、ftell、fstat。
1. fwrite
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
返回值:返回实际写入的数据块数目
(1)buffer: 是一个指针,对fwrite来说,是要获取数据的地址;
(2)size: 要写入内容的单字节数;
(3)count: 要进行写入size字节的数据项的个数;
(4)stream: 目标文件指针;
(5)返回实际写入的数据项个数count。
说明:写入到文件的哪里? 这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。
注意:这个函数以二进制形式对文件进行操作&