#include<iostream>
#include<fstream>
using namespace std;
class Person
{
public:
char m_Name[64];
int m_Age;
};
//二进制写文件,存入类
void test01()
{
//创建流对象
ofstream ofs;
ofs.open("person.txt", ios::out | ios::binary);
Person p = {"张三",18 };
//写文件
ofs.write((const char *)&p, sizeof(Person));
//write(把写入的数据的地址转成(const char*)类型,告诉他这个数据需要写多大空间)
//关闭文件
ofs.close();
}
//二进制读文件
void test02()
{
//创建流对象
ifstream ifs;
ifs.open("person.txt", ios::in | ios::binary);
//判断是否打开成功is_open()
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
return;
}
Person p;
//读文件
ifs.read((char*)&p,sizeof(Person));
//red(把要存放读入数据的对象的地址转成(char*)类型,告诉他这个数据需要读多大空间)
cout << "姓名:" << p.m_Name << " 年龄:" << p.m_Age << endl;
//关闭文件
ifs.close();
}
int main()
{
system("pause");
return 0;
}
写文件
ofs.write((const char *)&p, sizeof(Person));
write(把写入的数据的地址转成(const char*)类型,告诉他这个数据需要写多大空间)
读文件
ifs.read((char*)&p,sizeof(Person));
red(把要存放读入数据的对象的地址转成(char*)类型,告诉他这个数据需要读多大空间)