int saveBilling(const Billing* pBilling, const char* pPath)
{
FILE* fp = NULL; ///定义一个指向FILE类型的指针
//以追加方式打开一个二进制文件
if (fopen_s(&fp,pPath, "ab")!= 0)//如果打开失败
{
//以只写的模式打开二进制文件
if (fopen_s(&fp,pPath, "wb")!=0)//如果打开失败
{
return FALSE; //返回FALSE
}
}
fwrite(pBilling, sizeof(Billing), 1, fp); //将计费信息保存到文件中
fclose(fp); //关闭文件
return TRUE;
}
文件处理要包含头文件
#include<stdio.h>//包含文件处理头文件
fwrite的第二个参数是写入数据块的大小
第三个参数是块数
返回值是成功写入的块数
这里就是把这个结构体写入1个到文件中
如果返回值为1则成功
否则失败
fwrite(p,sizeof(struct record),1,fp);的含义
将p指针指向的内容,写入到fp流中,写入记录大小为1个struct record结构的字节大小~~