/*本文档 记录 二进制文件 的写操作*/
/*二进制的方式写入的好处是,任意自定义的数据类型都可以写入,就不局限于字符串了*/
#include <iostream>
//1.添加头文件
#include <fstream>
using namespace std;
void test(){
//2.创建写入文件流对象
ofstream ofs;
//3.用二进制的方式打开文件
ofs.open("t_test.txt",ios::out|ios::binary);
//两种打开方式同时提供,ios::out写入文件的打开方式;ios::binary用二进制的方式写入
//4.用ofs.write函数写入文件
//要写入的是,自定义Person类的数据类型对象
//创建Person类
class Person{
public:
char name[10];//姓名,C++涉及到文件读写时,建议还是使用C的字符串形式,string数据类型容易出错
int age;//年龄
};
//创建Person类的特定对象p
//同时为类对象属性赋值
Person p = {"张三",18};//要将此数据类型,以二进制的形式,写入文件t_test.txt中
ofs.write((const char *)&p,sizeof(Person));
//ofs.write传入的两个参数,一个是输入对象的强制转换为 字符串定值 const char;
//另一个参数,是传入对象的数据类型的所占内存大小
ofs.close();
}
int main(){
test();
}