程序存储的本质就是二进制。
因此,二进制文件读写,就是单纯的将内存中的二进制数据输出。
1.功能:将Person类对象p1和p2写进source.txt文件中。
代码:
#include#include using namespace std; //文件路径 string source = "C:\Users\19a405\Desktop\source.txt"; class Person { public: Person(int age, int id) :age(age), id(id) {}//构造函数 void Show() { cout << "age=" << this->age << ",id=" << id << endl; } private: int age; int id; }; void test01() { //创建Person对象 Person p1(25, 1), p2(10, 2); //ios::binary二进制 ofstream osm1(source, ios::out | ios::binary); osm1.write((char*)&p1,sizeof(Person));//二进制方式写文件 osm1.write((char*)&p2, sizeof(Person));//二进制方式写文件 osm1.close(); }
结果:
2.功能:将source.txt文件内容,读入Person类对象p3、p4中。
//将txt内容写入p3、p4 Person p3, p4; ifstream ism1(source, ios::in | ios::binary); ism1.read((char*)&p3, sizeof(Person)); ism1.read((char*)&p4, sizeof(Person)); ism1.close(); p3.Show(); p4.Show();
结果:



