最近用到文件读写向量的时候试了试能不能整个向量写进去再读出来,写了一个例子有一点错误,麻烦大神指点一下。
头文件如下
源文件如下
然后运行的时候到最后才会出错,好像读取文件并没有错误,
提个建议哈,下次最好粘代码文本,而不是截图,这样别人帮你看的时候,方便直接粘贴到编辑器中调试运行,查问题。
头文件如下:
#include
using namespace std;
class Stu{
int a;
public:
Stu(int a):a(a){}
Stu(const Stu &b){a=b.a;}
void display(){
cout< }
};
源文件如下:
#include
#include
#include"main.h"
#include
using namespace std;
void main(){
Stu a(1);
vector s,z;
Stu b(3),c(4),d(5);
s.push_back(b);
s.push_back(c);
s.push_back(d);
ofstream on("stu.dat");
for(int i=0;i<s.size();i++)
s[i].display();
on.write((char *)&s,sizeof(Stu)*s.size());
on.close();
cout<<endl;
ifstream in("stu.dat");
int i=0;
while(!in.eof())
in.read((char *)&z,sizeof(Stu)*s.size());
for(int i=0;i<z.size();i++)
z[i].display();
in.close();
}