void CArchiveView::OnWrite() { // Archive就是可序列化的类, 要头文件中DECLARE_DYNCREATE(CArchiveDoc) // 重写 virtual void Serialize(CArchive& ar); //cpp文件中 IMPLEMENT_DYNCREATE(CArchiveDoc) //CObArray 有个Serialize函数可以将数组直接序列化 //新建文档和打开文档会调用DeleteContents(), 在堆上分配了内存的要在这个函数中删除指针 CFile file("1.txt", CFile::modeCreate | CFile::modeWrite); CArchive ar(&file, CArchive::store); int i = 4; char ch = 'a'; float f = 1.3f; CString str("test"); ar << i << ch << f << str; ar.Close(); } void CArchiveView::OnRead() { // TODO: 在此添加命令处理程序代码 CFile file("1.txt", CFile::modeRead); CArchive ar(&file, CArchive::load); int i; char ch; float f; CString str; ar >> i >> ch >> f >> str; ar.Close(); CString strResult; strResult.Format("%d%c%f%s", i, ch, f, str); MessageBox(strResult); }
相关文章: