- 4
- 0
- 约4.48千字
- 约 6页
- 2017-06-10 发布于北京
- 举报
下面是我在编程中运用CTypedPtrMap指针模板类的方法,其存储结构占用物理空间小,比单纯的用数组结构存储的文件将小很多,所以是一种非常推荐的存储及读取文件的方法。
你必须在stdafx.h文件中 包含? #include afxtempl.h??? // MFC templates在头文件中包含? #include io.h
其中?CBank.h文件如下:
class CBank : public CObject? {DECLARE_SERIAL(CBank)?? //声明序列化存储public:?????? CBank();?????? CBank(CString str){ m_bankname = str; }?????? CBank(const CBank b){ m_bankname= b.m_bankname;} //拷贝构造函数?????? virtual ~CBank();private:?????? CString? m_bankname;public:??? virtual void Serialize(CArchive ar);};
?
typedef CTypedPtrMapCMapStringToOb,
???????????????????? CString,
???????????????????? CBank*CBanktmp;? //这个才是我们根据此类生成的类型
它的实现文件.cpp如下:
IMPLEMENT_SERIAL(CBank, CObject, 1)?? //实现序列化存储CBank::CBank(){??? m_bankname=;}CBank::~CBank(){
?
}void CBank::Serialize(CArchive ar){??? if (ar.IsLoading())??? {??????? ar m_bankname;??? }??? else??? {??????? ar m_bankname;??? }}
/*----------------------------------------------------从文件中读取参数:注意: 其中的m_map是这样定义的:CBanktmp? m_map;?-------------------------------------------------*/
void CDlgBankIn::LoadBankName(){?????? UINT? nFlags = CFile::typeBinary |CFile::modeReadWrite;?????? if(_access(_T(BankName.dat),0))?????? {????????????? nFlags |= CFile::modeCreate;?????? }?????? CFile file;?????? CFileException fe;?????? if (file.Open(_T(BankName.dat),nFlags, fe))?????? {?????????? if(file.GetLength()==0)?? //如果文件为空则不进行读取操作?????????? {?????????? }?????????? else?????????? {??????????????? CArchive ar(file, CArchive::load);??????????????? m_map.Serialize(ar);?? //读取文件??????????????? //根据文件内容填充列表框??????????????? POSITION?? pos;??????????????? CString??? strKey;??????????????? CBank?? *pB=NULL;??????????????? for( pos = m_map.GetStartPosition(); pos != NULL; )??????????????? {??????????????????? m_map.GetNextAssoc(pos,strKey,(CBank*)pB);??????????????????? m_CmbBank.AddString(strKey);??????????????? }??????????????? delete? pB;????????????? }?????? }?????? file.Close();}
?
/*---------------------
您可能关注的文档
- CAD键盘快捷属性命令.doc
- cad频率高的快捷键.doc
- CAD:键盘上所有快捷键.doc
- CAG的中西医结合治疗.doc
- CALLING动漫歌曲歌词中日互译有罗马音注释.doc
- candece快捷键说明.doc
- CAN总线传送到数据是基于消息而不是地址的.docx
- CASS内业补充程序命令.doc
- Cathy的静心话语:接纳自己.doc
- CATIA在机械制图教学中的应用.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年省考超大杯刷题-申论套卷四.pdf VIP
- 小学学校总务处的工作计划.pptx VIP
- 大学毕业论文__小型液压挖掘机的设计.doc VIP
- 食材配送人员配置与资质要求.docx VIP
- 2025年山东省济南市中考英语试卷试题真题(精校打印版).pdf VIP
- 一种能够在太阳光下快速固化的可剥离去污复合膜及制备方法.pdf VIP
- 骨科临床诊疗指南及操作规范(2025版).docx
- 2025-2026学年小学信息技术(信息科技)四年级下册浙教版(2023)教学设计合集.docx
- 沪科版九年级(上) 中考题同步试卷:22.5 二次函数的应用(18).doc VIP
- 中国的刺腹牙甲属、脊胸牙甲属和凹基牙甲属昆虫鞘翅目牙甲科牙甲族研究.pdf VIP
原创力文档

文档评论(0)