当前位置: 首页 > news >正文

有哪些做任务网站做网站推广的销售电话开场白

有哪些做任务网站,做网站推广的销售电话开场白,重庆快速建站,四川建设网评标专家库序列化与反序列化是MFC将对象数据以二进制数据流的形式进行存储和读取的机制#xff0c;读、写的效率很高。通过序列化与反序列化#xff0c;可以将程序中对象在内存中数据保存到文件 (磁盘) 或者从文件 (磁盘) 中读取到内存以恢复对象数据#xff0c;从而实现程序对数据的持…       序列化与反序列化是MFC将对象数据以二进制数据流的形式进行存储和读取的机制读、写的效率很高。通过序列化与反序列化可以将程序中对象在内存中数据保存到文件 (磁盘) 或者从文件 (磁盘) 中读取到内存以恢复对象数据从而实现程序对数据的持续管理。其中序列化是指从内存到文件 (硬盘) 的存储操作而反序列化则是指从文件 (硬盘) 到内存的读取操作。        其程序实现的基本思路是利用文档类对象维护内存中数据利用文件类对象维护硬盘文件数据将二者联系起来的是归档类对象利用这三个类的相互关联实现序列化 (含反序列化)目的。 一、序列化、反序列相关类及作用        1、文档类CDocument顾名思义这个类是MFC中专职管理数据的类。而所谓序列化反序列化的概念也是针对这个类而言的我们在这个类内可以进行序列化(含反序列化)声明序列化声明及实现是其它所有操作的前提条件。        通过构造继承自CDocument的自定义类用其成员变量作为序列化或反序列化数据在内存中的载体并通过重写它的成员虚函数Serialize实现序列化或(反序列化的具体操作归档类对象作为参数被引入实现文档类与归档类的关联。        2、文件操作类CFile作用是完成硬盘文件的读、写、存操作。成员函数包括Open (打开 文件)、Read (读文件)、Write (写文件)、Close (关闭文件) 等。文件操作类对象作为参数被归档类对象构造函数引入与归档类对象实现关联。        3、归档类CArchive是用于数据流的封装类完成内存数据的二进制读、写操作。归档类 对象首先被文档类虚函数Serialize作为参数引入接下来CArchive的构造函数通过其第一个 参数与文件类建立联系并使用重载的、进行读取与写入操作。CArchive对象和CFile对 象一样用毕也需调用close函数关闭。归档类对象也有自己的成员函数如IsStoring等。归档 类对象在三个类之间起中介作用。 二、代码实现        这里的代码是基于VS2022 C空项目调用MFC静态库编制的头文件中需要包含MFC要求 的afxwin.h使用的字符集为多字符集运行结果显示在控制台窗口。具体步骤为 1、类的声明及相关函数等的实现       a、公开继承 CDocument 类声明一个文档类对象       b、类内进行序列化声明并在类外实现       c、类内public方式声明对象成员变量这些成员变量是进行序列化 \ 反序列化的载体       d、类内声明文档类对象构造函数并在类外实现构造函数用于接收输入数据;       e、类内声明重写Serialize序列化虚函数并在类外实现。重写虚函数的目的是为了在 文档类与CArchive类之间建立关联CArchive对象以参数形式进入虚函数。 2、序列化实现过程子程序      a、使用CFile类对象调用Open函数创建或打开文件文件打开方式与归档类对象读写状态           要一致;      b、使用CArchive类及构造函数定义归档类对象;      c、将屏幕输入数据保存进文档类对象;      d、使用CAchive对象将文档类对象数据写入文件;      e、调用Close函数关闭归档类对象      f、调用Close函数关闭文件类对象。 3、反序列化实现过程子程序      a、使用CFile类对象调用Open函数创建或打开文件      b、使用CArchive类及构造函数定义归档类对象      c、定义文档类指针对象      d、使用CAchive对象将文件数据读取到内存并转给文档类对象      e、利用文档类对象接收数据进行屏幕显示      f、调用Close函数关闭归档类对象      g、调用Close函数关闭文件对象 4、主函数实现 三、代码实现及相关注释       下面代码是基于VS C空项目并调用MFC静态库编制为此头文件中应包含进afxwin.h。字符集使用的是多字符集运行结果显示在控制台窗口。具体代码及注释如下 #includeafxwin.h #includeiostream using namespace std; //公开继承CDocument方式声明文档类并构造用于存储或读取的数据类型 class CMyDoc :public CDocument { DECLARE_SERIAL(CMyDoc) //序列化(含反序列化)声明 public:CString m_Name; //成员变量int m_Age;CString m_Addr;CMyDoc(CString name , int age 0, CString addr ); //声明构造函数用于赋值virtual void Serialize(CArchive ar); //声明重写Serialize虚函数 }; //类外实现序列化含反序列化 IMPLEMENT_SERIAL(CMyDoc, CDocument, 2) //参3 为版本号随意定或NULL //类外实现构造函数 CMyDoc::CMyDoc(CString name, int age, CString addr) //此处不再需要缺省值 {this-m_Name name;this-m_Age age;this-m_Addr addr; } //类外实现重写Serialize虚函数(CArchive对象为参数 void CMyDoc::Serialize(CArchive archive) {if (archive.IsStoring()) //归档类成员函数IsStoring返回是否写入{archive m_Name m_Age m_Addr; //写入}else {archive m_Name m_Age m_Addr; //读取} } //序列化实现子程序 void dataStore() { CFile file; //声明文件类对象file.Open(C:\\Users\\Administrator\\Desktop\\serial.txt, CFile::modeCreate | CFile::modeWrite,NULL);//CFile类成员函数Open参1 文件名 参2 打开模式(文件不存在则创建、写模式) 参3 接收错误信息指针//文件后缀虽然写的是txt但存储内容是二进制格式while (TRUE){CArchive myCAr(file, CArchive::store, 4096, NULL); //CAchive类构造函数此函数将CArchive对象与CFile对象连接//参1 CFile对象的指针 参2 归档状态存入 参3 缓冲区大小(默认4096) 参4 指向缓冲区的指针(缺省填NULL)cout 在姓名处输入xxxxx退出 endl;cout 请输入姓名 ;char name[64];cin name;if (name[0]x name[1] x name[2] x name[3] x name[4] x) break;cout 请输入年龄 ;int age;cin age;char addr[128];cout 请输入住址;cin addr;CMyDoc data(name, age, addr); //将输入数据保存仅文档类对象myCAr data; //将文档类对象传入CArchive对象序列化myCAr.Close(); //关闭CArchive对象}file.Close(); //关闭文件类对象 } //反序列化子程序 void dataLoad() {CFile file;file.Open(C:\\Users\\Administrator\\Desktop\\serial.txt, CFile::modeRead,NULL);//各参数含义同dataStore()只是参2为只读模式CArchive myCAr(file, CArchive::load, 4096);//各参数含义同dataStore()只是参2 为读取状态CMyDoc* pData NULL; //定义文档类指针对象用来接收读取的数据while(TRUE){try { //连续从CArchive对象读取数据传给文档类对象并进行显示myCAr pData; cout pData-m_Name pData-m_Age pData-m_Addr endl;} catch (...) { break; }} myCAr.Close(); //关闭CArchive对象file.Close(); //关闭文件类对象 } //主函数 int main() {dataStore();dataLoad();system(pause);return 0; } /* 运行结果 在姓名处输入xxxxx退出 请输入姓名张三 请输入年龄25 请输入住址天津和平 在姓名处输入xxxxx退出 请输入姓名李四 请输入年龄36 请输入住址天津红桥 在姓名处输入xxxxx退出 请输入姓名王五 请输入年龄27 请输入住址天津河西 在姓名处输入xxxxx退出 请输入姓名xxxxx 张三 25 天津和平 李四 36 天津红桥 王五 27 天津河西 请按任意键继续. . . */
http://www.dnsts.com.cn/news/58735.html

相关文章:

  • 横向网站模板优化型网站是什么意思
  • 网站动态图片如何做网站建设发展历程ppt
  • 微商城网站建设平台合同wordpress主题制作难吗
  • 中国做进出口的网站wordpress
  • 怎么做免费的网站链接企业网站制作免费下载
  • 1.2婚庆网站建设的目的厚街网站建设费用
  • 做美食网站的图片大全网站建设行业前景
  • 网站建设的基本要素新网站如何被快速收录
  • 宿迁房产交易中心官网seo排名工具站长
  • 义乌市场官方网站上海口碑最好的家装
  • 如何购买网站域名网站上做的图片不清晰是怎么回事
  • 专业网站建设最权威seo案例分析
  • 阿里云做的网站程序员厦门市网站建设软件开发公司
  • 汇川区住房和城乡建设厅网站WordPress grace7主题
  • 免费排版网站怎么做网站地图的样式
  • 母婴网站源码优秀网站特点
  • 网站网页设计招聘高新网站设计找哪家
  • 阿里云心选建站做的网站有广告图片
  • 网站直接跳转想做微商怎么找厂家
  • 漂亮网站北京网络安全公司有哪些
  • 上海市各区建设局网站北京企业网站制作
  • 滨湖区知名做网站价格软件设计就业方向及前景
  • 网站服务器的作用和功能有哪些网站建设目标及需求分析
  • 网站不备案不能访问宁波网站制作费用
  • 重庆渝中区企业网站建设公司怎么优化关键词
  • cms是什么公司简称seo网站优化代码
  • wordpress子站点解析360推广登陆入口
  • 内容分发网络CDN可以建设网站吗备案的网站如何访问
  • 教做发型的网站百度认证营销顾问
  • wordpress网站静态页面备案 非网站