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

相关文章

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python读取TIF文件的两种方法实现

《Python读取TIF文件的两种方法实现》本文主要介绍了Python读取TIF文件的两种方法实现,包括使用tifffile库和Pillow库逐帧读取TIFF文件,具有一定的参考价值,感兴趣的可以了解... 目录方法 1:使用 tifffile 逐帧读取安装 tifffile:逐帧读取代码:方法 2:使用

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

Python脚本:TXT文档行数统计

count = 0 #计数变量file_dirs = input('请输入您要统计的文件根路径:')filename = open(file_dirs,'r') #以只读方式打开文件file_contents = filename.read() #读取文档内容到file_contentsfor file_content in file_contents:

bcolz文档

原文:http://bcolz.blosc.org/en/latest/reference.html First level variables bcolz.__version__'''bcolz包的版本。''' bcolz.dask_here'''是否检测到dask的最低版本。''' bcolz.min_dask_version'''需要dask的最低版本(dask是可选

argodb自定义函数读取hdfs文件的注意点,避免FileSystem已关闭异常

一、问题描述 一位同学反馈,他写的argo存过中调用了一个自定义函数,函数会加载hdfs上的一个文件,但有些节点会报FileSystem closed异常,同时有时任务会成功,有时会失败。 二、问题分析 argodb的计算引擎是基于spark的定制化引擎,对于自定义函数的调用跟hive on spark的是一致的。udf要通过反射生成实例,然后迭代调用evaluate。通过代码分析,udf在