二进制文件
以二进制的方式对文件进行读写操作
打开方式要指定为ios::binary
写文件
二进制方式写文件主要利用流对象调用成员函数write
函数原型ostream& write(const char *buffer,int len);
参数解释:字符指针buffer指向内存中的一段存储空间 len是读写的字节数
//二进制文件 写文件
#include<fstream>
class Person
{
public:
char m_name[64]//姓名
int m_age;//年龄
};
void test()
{
ofstream ofs;
ofs.open("perosn.txt",ios::out|ios::binary);//打开文件
//写文件
Person p={"zhangsan",18};
ofs.write((const char*)&p,sizeof(p));
}
读文件
二进制读文件主要利用流对象 调用成员函数read
函数原型 istream& read(char*buffer ,int len);
参数解释:字符指针buffer指向内存中的一段存储空间,len是读写的字节数
#include<iostream>
uing namaspace std;
class person
{
public:
char m_name[64];//姓名
int m_age;//年龄
};
//二进制文件 读文件
void test()
{
ifstream ifs;
//打开文件并判断是否成功
ifs.open("perosn.txt",ios::in|ios::binary);
if(!ifs.is_open())
{
cout<<"open failed!"<<endl;
return;
}
//读文件
Person p;
ifs.read((char* )&p,sizeof(Person));
cout<<"姓名:"<<p.name<<"年龄:"<<p.m_age<<endl;
//关闭文件
ifs.close();_
}