Win10 + VC6;

首先新建一个单文档工程,名为ardemo1;

增加写文件、读文件菜单;菜单ID自动生成;自己改也可以;

在 写文件 菜单,右击,选择 建立类向导;

在类向导中,类名选中View类,选中写文件菜单ID,Message中选COMMAND,点击 Add Function;

在弹出的对话框中输入成员函数名; 然后点 Edit Code,进入编辑该函数代码;

同样添加 读文件 菜单的处理成员函数;

视类中编辑读写文件菜单代码,如下;

void CArdemo1View::OnFileWrite()
{// TODO: Add your command handler code here//构造CFile对象CFile file("1.txt",CFile::modeCreate | CFile::modeWrite);//将CArchive与CFile对象相关联CArchive ar(&file,CArchive::store);int t1 = 99;char ch1 = 'q';float f1 = 7.3f;CString str1("VC++ Archive Demo");ar<<t1<<ch1<<f1<<str1;
}void CArdemo1View::OnFileRead()
{// TODO: Add your command handler code here//构造CFile对象CFile file("1.txt",CFile::modeRead);//构造存档对象CArchive ar(&file,CArchive::load);int t2;char ch2;float f2;CString str2;//用来显示结果CString strResult;//顺序必须与写入顺序相同ar>>t2>>ch2>>f2>>str2;strResult.Format("%d,  %c,  %f,  %s",t2,ch2,f2,str2);CDC* pDC=GetDC();pDC->TextOut(100,100,strResult);
}

运行程序;先执行 写文件 菜单;

在磁盘上生成一个文件,内容如下,有乱码是因为按二进制写入的;    读的时候VC自己会识别;

然后再执行 读文件 菜单;把刚才写入的内容读取,使用pDC->TextOut(100,100,strResult)显示出来;

关于VC++串行化的简要说明:

所谓的文档串行化,解决的是这么一类问题:对于内存中的变量,当程序结束时就会消失,有没有办法把它们的结果记录在硬盘上,当程序结束,重新启动程序时,有没有办法重新加载这些保存在硬盘上的对象呢?
首先考虑的是CFile对象。但是,因为CFile在读写时始终要求的是字符串buffer,相对比较麻烦,MFC提供了一个更简单的类CArchive来实现文件的读写。
使用CArchive对象时需要注意的是:
1.这个对象必须与一个CFile对象相关联
2.CArchive对象重载了<<和>>操作符,不仅可以处理基本数据类型,也能够处理从CObject派生出来的类型。

参阅:

https://blog.csdn.net/thefutureisour/article/details/8185205

VC++ 串行化编程实例相关推荐

  1. 精通Java事务编程(8)-可串行化隔离级别之可串行化的快照隔离

    本系列文章描述了DB并发控制的黯淡: 2PL虽保证了串行化,但性能和扩展不好 性能良好的弱隔离级别,但易出现各种竞争条件(丢失更新,写倾斜,幻读 串行化的隔离级别和高性能就是相互矛盾的吗?也许不是,一 ...

  2. Visual C++ 时尚编程百例019(串行化)

    串行化 串行化的基本思想是一个类对象,能够将它记录在成员变量中的当前状态存储, 也可以通过串行化的读取恢复操作重新创建对象. 使一个类可串行化,在类声明中使用DECLARE_DYNCREATE(CMy ...

  3. php 串行化数据,php中对象的串行化

    我们大家有知道PHP串行化可以把变量包括对象,转化成连续bytes数据,你可以将串行化后的变量存在一个文件里或在网络上传输,然后再反串行化还原为原来的数据.文章这里就PHP串行化为大家详细的介绍.你在 ...

  4. MFC六大核心机制之四:永久保存(串行化)

    永久保存(串行化)是MFC的重要内容,可以用一句简明直白的话来形容其重要性:弄懂它以后,你就越来越像个程序员了! 如果我们的程序不需要永久保存,那几乎可以肯定是一个小玩儿.那怕我们的记事本.画图等小程 ...

  5. 并发事务正确性的准则 可串行化_从0到1理解数据库事务(上):并发问题与隔离级别...

    最近准备写一篇关于Spanner事务的分享,所以先分享一些基础知识,涉及ACID.隔离级别.MVCC.锁,由于太长,只好拆分成上下两篇: 上:并发问题与隔离级别 主要讲事务所要解决的问题.思路,先理解 ...

  6. Java中对象的串行化(Serialization)和transient关键字

    Java中对象的串行化(Serialization)和transient关键字 前言: 该篇文章参考自网上资料,但是部分内容经过笔者更改,因此算作原创吧,原文地址: http://www.golden ...

  7. PHP串行化与JSON

    PHP串行化与JSON 2008年3月19日 评论 发表评论 作者:hanguofeng[小韩] 发布于:经典论坛 玄猫的窝(作者的博客) 在经典论坛的连载地址:http://bbs.blueidea ...

  8. mysql可串行化读音,Oracle与MySQL中“可串行化”的对比测试

    Oracle与MySQL中"可串行化"的对比测试 Oracle与MySQL中"可串行化"的对比测试 Thomas Kyte 在"Oracle 9i&a ...

  9. mysql串行化防幻读原理_透彻解读mysql的可重复读、幻读及实现原理

    目录 一.事务的隔离级别 二.mysql怎么实现的可重复读 举例说明MVCC的实现 MVCC逻辑流程-插入 MVCC逻辑流程-删除 MVCC逻辑流程-修改 MVCC逻辑流程-查询 三.幻读 快照读和当 ...

最新文章

  1. 安装hadoop下的sqoop1.99.3及配置问题全解决
  2. 如何让签到成为提升用户活跃度的利器
  3. 图像传感器与信号处理——详解CCD与CMOS图像传感器
  4. VMware Ubuntu 共享文件夹
  5. 在线场景感知:图像稀疏表示-ScSPM和LLC总结(lasso族、岭回归)
  6. 压缩vmware中的ubuntu系统(虚拟机瘦身大法)
  7. NewCode----句子反转
  8. js正则表达式限制文本框只能输入数字,小数点,英文字母
  9. 电商产品经理的那些图 订单、确认支付、发货、退货、退款、换货...
  10. 「详解」torch.nn.Fold和torch.nn.Unfold操作
  11. 计算机体系结构(国防科大)-第四章-指令级并行
  12. 已设置过微信号怎么改?这个官方提示你得知道!
  13. c语言编写开关程序,C语言开关语句:switch
  14. 关于C和C++的争论
  15. 服务器游戏列表为空,游戏服务器列表为空
  16. 第1讲:配置NODE16环境,创建和运行VUE3项目。
  17. Xcode 修改Copyright的组织信息
  18. contos8大小写和键盘相反
  19. DS1302 / DS1307 不起振可能是寄存器配置原因
  20. 华为和荣耀手机升级鸿蒙系统之后与matebook无法多屏协同的问题

热门文章

  1. 计算属性一般是没有set方法, 只读属性 ||计算属性的缓存
  2. java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式
  3. HTML5实战—canvas绘图之贝塞尔曲线
  4. leetcode C++ 28. 实现 strStr() 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 need
  5. 【HDU1203 HDU2955 01背包中的简单概率问题处理】
  6. sdut-1118 C语言实验——从大到小输出a、b、c(选择结构)
  7. return 函数
  8. mysql设置check
  9. 【解决方案】from pip import main
  10. Python通过一个网页地址获得网页标题Title