将内存中的对象写入到二进制文件,然后从文件中加载到内存
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
class A
{
public:
A(const int a)
{
this->a = a;
}
void Set(const int a)
{
this->a = a;
}
int a;
};
int main()
{
/*
FILE* fp = fopen("B.b","wb");
A a(99);
fwrite(&a,sizeof(A),1,fp);
fclose(fp);
int *p = (int*)&a;
A* b = (A*)p;
cout << b->a << endl;
*/
//
FILE* fp2 = fopen("B.b","rb");
void* buf = NULL;
buf = malloc(sizeof(A));
fread(buf,sizeof(A),1,fp2);
fclose(fp2);
A * newA = (A*)buf;
//newA->Set(44);
cout << newA->a;
//
return 0;
}
//第一次,打开 / * ... * / 关掉 // //,运行一次;第二次,关掉/ * ... * / 打开 // //再执行一次, 会有什么发现?
// 哎,感觉自己好无聊。。。