想问问用CArchive将vector数据存入文件相关问题
我先定义了一个结构体
struct RECORD
{
CString name;
CString mail;
CString phone;
CString type;
}
vector<RECORD> list;
存入文件的时候这样写的
vector<RECORD>::iterator iter=list.begin();
CFile file;
file.Open("MyPhoneBook",CFile::modeCreate|CFile::modeReadWrite);
CArchive ar(&file,CArchive::store);
for(;iter!=list.end();iter++)
{
ar<<*iter;//提示这一句出错:no operator defined which takes a left-hand operand
//of type'class CArchive'(or there is no acceptable conversion)
}
ar.Flush();
ar.Close();
file.Close;
还有存入文件以后我怎么把从文件读取数据复制给list呢,新手求指导
[解决办法]
重载一个操作符
CArchive &operator <<(CArchive& ar, const RECORD& rhs)
{
ar << rhs.name << rhs.mail << rhs.phone << rhs.type;
return ar;
}