CFile与CArchive区别】的更多相关文章

一,区别 CFile是直接与磁盘打交道的一个文件对象,可以处理文本和二进制文件 CArchive将CFile作为自己的一个参数,通过该参数可以实现文本,二进制甚至继承至COject对象的类的本地存储和读取.因此CArchive依赖与CFile,但功能比CFile更强大. 二:初始化 CArchive的模式需要与CFile的模式项匹配,即CArchive::load对应CFile::read,CArchive::store对应CFile::write. 三:结束 CArchive使用完毕后需要调用…
两者的主要区别: 一. CFile类操作文件默认的是Binary模式,CStdioFile类操作文件默认的是Text模式.    在Binary模式下我们必须输入'\r\n',才能起到回车换行的效果,'\r'只是回车(回到当前行的第一列),'\n'只是换行(到达下一行的当前列). 而在Text模式下'\r'的工作是自动完成的,当我们写一个'\n'的时候,系统会自动帮我们在其前面加上一个'\r',然后保存到文件里.另外,CFile::typeText只能在CFile的子类中使用,CFile自身的R…
CArchive允许以一个二进制的形式保存一个对象的复杂网络,也可以再次装载它们,在内存中重新构造,这一过程叫作串行化/序列化(Serialization),简单的说,CArchive与CFile配合使用可以以二进制读取/保存数据到文件. 创建一个CArchive对象之前,你必须创建并成功打开一个CFile对象.另外,必须确信归档文件的装入(load)/存储(store)与文件的打开模式是兼容的,每一个文件只限于一个活动归档文件. CArchive 对象的寿命只限于将对象写入文件或从文件读取对象…
在程中碰到这个一段代码: 讲的是CFILE类的文件操作,故参考MSDN系统学习一下(翻译了一下英文): CFile file;CFileException fe; //打开文件if(!file.Open(lpszPathName,CFile::modeRead|CFile::shareDenyWrite,&fe)){   ReportSaveLoadException(lpszPathName,&fe,FALSE,AFX_IDP_FAILED_TO_OPEN_DOC);     retur…
CFile file("D:\\1.txt",CFile::modeCreate | CFile::modeWrite); CArchive ar(&file,CArchive::store); int i=4; char ch='a'; float f=1.3f; CString str("hello everyone"); ar<<i<<ch<<f<<str;//序列化顺序写入到1.txt 类似于:cout…
1.文件写入 void CMFCApplication1Dlg::Write() { CFile file; CString FileName = "D:\\100w.txt"; memset(buf, , NUM);//初始化内存,防止读出字符末尾出现乱码 ; i < NUM; i++) { )% == ) buf[i] =; else buf[i] = ; } // TODO: Add your control notification handler code here ]…
孙鑫视频VC++深入详解学习笔记 VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Lesson4: 简单绘图 Lesson5: 文本编程 Lesson6: 菜单编程 Lesson7: 对话框编程 Lesson9: 定制应用程序的外观 Lesson10: 绘图控制 Lesson11 图形的保存和重绘 Lesson12 文件操作 Lesson 13: 文档串行化 Lesson14 网络编…
MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介: 具体详细细节可以参考离线文档 第一个MFC程序: 1.创建一个win32程序 2.设置使用MFC 3.添加类 #include <afxwin.h> class CMyFrameWnd : public CFrameWnd{ }; class CMyWinApp : public CWinAp…
#pragma once #include "afx.h" #include <vector> using std::vector; class HzyData : public CObject { public: HzyData(); ~HzyData(); public: DECLARE_SERIAL(HzyData) virtual void Serialize(CArchive& ar); void initail(); void testData(); p…
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(&f…