Lesson 13 文档与串行化

13.1使用CArchive类对文件进行读写操作

//让对象数据持久性的过程称之为串行化,或者序列化

void CGraphicView::OnFileWrite()

{

// TODO: Add your command handler code here

CFile file("1.txt",CFile::modeCreate|CFile::modeWrite);    //build CFile object

CArchive ar(&file,CArchive::store);                   //build archive object

int i=4;

char ch='a';

float f=1.3f;

CString str("aliceandrabbit");

ar<<i<<ch<<f<<str;      //save dates;

}

void CGraphicView::OnFileRead()

{

// TODO: Add your command handler code here

CFile file("1.txt",CFile::modeRead);

CArchive ar(&file,CArchive::load);

int i;

char ch;

float f;

CString str;

CString strResult;

ar>>i>>ch>>f>>str;

strResult.Format("%d,%c,%f,%s",i,ch,f,str);

MessageBox(strResult);

}

13.2MFC框架程序提供的文件新建功能

13.3 文档串行化

13.4可串行化的类

先要使类具有串行化

1,拷贝lesson11的CGraph对象,将其修改为从CObject派生。

2,重载Serialzie函数(在CGraph类中添加)

3,在声明CGraph类时,使用DECLARE_SERIAL宏,即在graph.h头文件中,在类定义的内部添加

DECLARE_SERIAL(CGraph)

4,该类需要不带参数的构造函数

5,为CGraph类在实现文件中使用IMPLEMENT_SERIAL宏,即在CGraph类的构造函数的定义前添加:IMPLEMENT_SERIAL(CGraph,CObject,1)

至此,CGraph类就支持串行化了。

然后为此类添加一个图形绘制函数:Draw,从而将图形数据和图形绘制封装在一个类中

最新文章

  1. 深入剖析 redis 事件驱动
  2. Callable、Future和FutureTask
  3. TP复习15
  4. [DLX]HDOJ4069 Squiggly Sudoku
  5. Android SurfaceView实战 打造抽奖转盘
  6. HPU--1091 N!的位数
  7. CSS根据子元素个数不同定义样式
  8. Python strip()方法
  9. Vsftpd服务重启、暂停命令
  10. selenium启动Firefox失败
  11. SSLv3存在严重设计缺陷漏洞(CVE-2014-3566)
  12. 微信小程序-实现分享(带参数)
  13. (原创)一个和c#中Lazy&lt;T&gt;类似的c++ Lazy&lt;T&gt;类的实现
  14. linux下删除大量小文件
  15. mysql jdbc性能优化之mybatis/callablestatement调用存储过程mysql jdbc产生不必要的元数据查询(已解决,cpu负载减少20%)
  16. MySQL 二进制文件恢复
  17. 修复吾爱OD数据窗口双击不出现偏移问题
  18. Linux服务器运行环境搭建(二)——Redis数据库安装
  19. LINUX 修改本机yum源为163镜像源
  20. POJ:2456 Aggressive cows(z最大化最小值)

热门文章

  1. flume+kafka+smart数据接入实施手册
  2. IT行业的正式入门
  3. C语言中的 extern 关键字
  4. Linux-记录一次被当肉鸡行为
  5. arcgis server 10.2安装后,忘记Manager的用户名和密码
  6. XML与JSON的对比
  7. .NET微信自定义分享标题、缩略图、超链接及描述的设置方法
  8. python Requests库在处理response时的一些陷阱
  9. ADF_Desktop Integration系列3_ADF桌面集成入门之重定义ADF Desktop Excel
  10. Zerojudge解题心得