CArchive和Serialize即通过串行化文档的写入与读取

2024-01-21 21:38

本文主要是介绍CArchive和Serialize即通过串行化文档的写入与读取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CArchive和Serialize即通过串行化文档的写入与读取 
标签: 杂谈
之所以要这样通过串行化(CArchive和Serialize)的方式进行文件读去而不用CFile的方式进行文件的读取是因为串行化方式除了可以使用文件保存对象之外,还可以通过网络,串口,传输对象!!
例如这里使用打开键打开一个格式为txt的文件,并将文件内容显示在当前的View里面:
void CTextView::OnFileOpen()
{
 // TODO: Add your command handler code here
 
 CFileDialog mydlg(TRUE,"TXT");
 mydlg.DoModal();
 filename=mydlg.GetPathName();
 CFile myfile;
 myfile.Open(filename,CFile::modeRead); 
 CArchive ar(&myfile,CArchive::load); //定义一个文档类便于输出到视图
// SerializeRaw(ar);    //CEditView类里面的SerializeRaw方法,它只能实现txt文件的读取与储存
 //或者用Serialize(ar); 的方式进行处理如下:


CBmpTextDoc*pDoc=(CBmpTextDoc*)GetDocument();     //!!!!!进入文档类,以便使用里面的Serialize函数进行串行化读取操作


pDoc->Serialize(ar);//自动将文件里面的内容全部读取完!!!!!!!!!!!!!!!!!!!!!!!
如果要用文件读取的方式读取,那么应该这样
while(文件不到尾部)  其中不到文件尾部与EOF有关
{
 myfile。reading··········大概是这样子的,反正就是这个意思
}


CString strs;
strs=pDoc->str;    //str是本身pDoc里面自带就有的变量
CEdit& theEdit = GetEditCtrl();  //  CView是CEdit的派生,所以有它的功能
 
theEdit.SetSel(0,-1);  
 theEdit.ReplaceSel (strs);
 
pDoc->UpdateAllViews(NULL);
 
 ar.Close();
 myfile.Close();
pDoc->SetTitle(filename);
}
总结:首先CArchive ar(使用文件对话框打开的文件,CArchive::load); 
接着再pDoc->Serialize(ar);注意pDoc用GetDocument()的方式定义!···
即在pDoc里面就有“使用文件对话框打开的文件”里面的信息咯!```

这篇关于CArchive和Serialize即通过串行化文档的写入与读取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/630902

相关文章

解决Java中基于GeoTools的Shapefile读取乱码的问题

《解决Java中基于GeoTools的Shapefile读取乱码的问题》本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属... 目录前言1、Shapefile属性字段编码的情况:一、Shp文件常见的字符集编码1、System编码

利用Python实现添加或读取Excel公式

《利用Python实现添加或读取Excel公式》Excel公式是数据处理的核心工具,从简单的加减运算到复杂的逻辑判断,掌握基础语法是高效工作的起点,下面我们就来看看如何使用Python进行Excel公... 目录python Excel 库安装Python 在 Excel 中添加公式/函数Python 读取

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库