MFC的二进制文件读写
来源:互联网 发布:mac怎么批量删除文件 编辑:程序博客网 时间:2024/05/17 22:53
本文转载http://blog.csdn.net/l_andy/article/details/24300827
主要是通过使用CArchive类作为读写操作
CArchive ar(&file, CArchive::store);//根据打开的文件,创建文件串行化对象 用来写
ar<<nYear; //把变量值给对象
CArchive ar(&file, CArchive::load);//根据打开的文件, 创建文件串行化对象 用来读
ar>>nYear; //把对象值赋值给变量
关键点就是上面几句话进行二进制的读写操作,打开文件的设置可以百度CFile类的open 以及要添加文件打开保存界面,可以使用CFileDialog类。
一 编程案例介绍
本案例基于控制台工程,创建专门的演示类CDemo,实现二进制文件的读写串行化操作,具体代码如下:1 CDemo类定义:
class CDemo
{
public:
void CreateFile();
CDemo();
virtual ~CDemo();
void Serialize(CArchive &ar);
void WriteFile();
void ReadFile();
void Initlize();//初始化
private:
//需要读写的演示数据:
//基本类型数据
int nYear;
char chMonth;
short shDay;
float fSalary;
//字符串数据
CString m_strUserName;
CString m_strPassWord;
//文件相关的数据:
CString m_strFileName;//文件名
};
2 CDemo类接口实现定义:
CDemo::CDemo()
{
//读写的文件名称
m_strFileName = "data.dat";
}
CDemo::~CDemo()
{
}
//文件读写串行化函数
void CDemo::Serialize(CArchive &ar)
{
if (ar.IsStoring())
{
//写变量的数据到文件
ar<<nYear;
ar<<chMonth;
ar<<shDay;
ar<<fSalary;
ar<<m_strUserName;
ar<<m_strPassWord;
}
else
{
//读文件内容并保存到变量:
ar>>nYear;
ar>>chMonth;
ar>>shDay;
ar>>fSalary;
ar>>m_strUserName;
ar>>m_strPassWord;
}
}
//数据写文件
void CDemo::WriteFile()
{
CFile file;
if(file.Open(m_strFileName, CFile::modeWrite, NULL))//创建磁盘文件并打开
{
CArchive ar(&file, CArchive::store);//根据打开的文件,创建文件串行化对象
Serialize(ar); //写文件内容
//结束后关闭对象
ar.Close();
file.Close();
}
}
//从文件上读数据
void CDemo::ReadFile()
{
CFile file;
if(file.Open(m_strFileName, CFile::modeRead, NULL))//打开磁盘文件
{
CArchive ar(&file, CArchive::load);//根据打开的文件,创建文件串行化对象
Serialize(ar); //读文件内容
//结束后关闭对象
ar.Close();
file.Close();
}
}
//数据初始化:
void CDemo::Initlize()//初始化
{
//初始化演示数据
nYear = 2010;
chMonth = 12;
shDay = 31 ;
fSalary = 10000.0;
m_strUserName = "张三";
m_strPassWord = "12345";
}
//创建二进制文件
void CDemo::CreateFile()
{
CFile file;
if(file.Open(m_strFileName, CFile::modeCreate, NULL))//创建磁盘文件并打开
{
file.Close();
}
}
阅读全文
0 0
- MFC的二进制文件读写
- 二进制文件的读写
- 二进制文件的读写全部
- 二进制文件的读写
- 二进制文件的读写
- 二进制文件的读写
- 二进制文件的读写
- java 二进制文件的读写
- C++二进制文件的读写
- 二进制文件的读写操作
- 二进制文件的读写
- Cocos2dx--二进制文件的读写
- 二进制文件的读写
- python的二进制文件读写
- 二进制文件的读写
- C++二进制文件的读写
- 二进制文件的读写
- 31、二进制文件的读写
- kotlin开发Android入门篇七Kotlin与Java相互调用
- Caffe学习系列****
- MAC安装protobuf
- Java 泛型
- nginx下redirect问题
- MFC的二进制文件读写
- Spark Shell编写第一个代码
- 《算法导论》Chapter6 堆
- python---pymsql+flask_sqlalchemy连接数据库
- bzoj 1802: [Ahoi2009]checker
- 谷歌企业文化建设分析
- openCV任意几何形状感兴趣区域(ROI)提取
- python文案处理
- 【java】打印月历