跪求!!!!关于VC中使用vector类存入和读出文件的问题
fsagd 2010-09-05 01:18:44 最近在做一个基于VC6.0的有界面的图书管理系统,要把包含用户信息ID和password的类保存在vector容器里面,再将这个容器里面所有的内容写到文件中,然后再将文件中类的成员信息读出来,小弟谢了下面的代码,但是文件始终读不出来,百思不得其解,望哪位大哥帮帮小弟!!!万分感谢!
class people
{
public:
LPCSTR id;
LPCSTR password;
int num; //1表示管理员,2表示用户
};
定义了一个文件类:
typedef vector<people*> sy;//设置此类的全局容器
class wenjian:public vector<people*>
{
public:
wenjian(void);
BOOL loadfile();
void storefile();
void add(people* pl);
void findstrl(LPCSTR idd,int* flag);
void deletepeople(sy::iterator it);
~wenjian(void);
};
读文件操作:
BOOL wenjian::loadfile ()
{
ifstream fin;
fin.open("txt1.dat",ios_base::binary|ios_base::in);
people* p;
p=new people;
if(!(fin.read((char*)p,sizeof(p))))
{
delete p;
fin.close();
return 0;
}
push_back(p);
p=new people;
while(fin.read((char*)&p,sizeof(p)))
{
push_back(p);
p=new people;
}
delete(p);
fin.close();
return 1;
}
写文件操作:
void wenjian::storefile ()
{
ofstream fout;
fout.open("txt1.dat",ios_base::out|ios_base::binary);
sy::iterator it=this->begin();
while(it!=this->end())
{
fout.write((char*)it,sizeof(people));
it++;
}
fout.close();
}