码迷,mamicode.com
首页 > 其他好文 > 详细

MFC CArchive实现保存到二进制文件

时间:2014-05-01 04:57:28      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:com   http   style   blog   class   div   img   code   c   java   log   

先看一下效果图

 mamicode.com,码迷

mamicode.com,码迷
 1 BOOL Save2File()
 2 {
 3     BOOL bOpenFileDialog = FALSE;  ---------------------------------- 4     BOOL bVistaStyle = FALSE;                   // no VistaStyle
 5     TCHAR BASED_CODE szFilter[] =    -------------------------------- 6         _T("二进制文件(*.dat)|*.dat|")
 7         _T("All Files (*.*)|*.*||");
 8     CString path_and_fileName;
 9 
10     CFileDialog fdlg(bOpenFileDialog, _T("dat"), _T("*.dat"), -------11             OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL, 0,
12             bVistaStyle);
13     if (IDOK == fdlg.DoModal()) {
14         CFile fileSave;
15         CFileException ex;
16 
17         path_and_fileName = fdlg.GetPathName();
18         if (!fileSave.Open(path_and_fileName, CFile::modeCreate | 
19                 CFile::modeWrite | CFile::typeBinary, &ex)) {    ------20             TCHAR szError[1024];
21             ex.GetErrorMessage(szError, 1024);
22             MessageBox(NULL, szError, _T("提示"), MB_OK);
23             return FALSE;
24         }
25         CArchive ar(&fileSave, CArchive::store); ---------------------26         for (int i=0;i<BUFF_LENGTH;i++) {
27             ar<<dataBuf[i]; ------------------------------------------28         }
29         ar.Close();
30         fileSave.Close();
31     }
32   
33     return TRUE;
34 }
mamicode.com,码迷

 

①bOpenFileDialog为FALSE,弹出对话框为File save as,若为TRUE,弹出对话框为File Open;

②文件类型过滤字符串,这个仅仅是在保存的文件类型里面可选的内容,文件过滤要在第③项里面设置;

 mamicode.com,码迷

③_T("dat"), _T("*.dat")这两个字符串设置文件过滤类型跟默认文件名,这个过滤是在选择的时候只显示过滤的文件。

④CFile::typeBinary设置允许二进制方式打开文件;

根据打开的文件创建串行化对象,将ar与fileSave关联,并设置CArchive::store

⑥直接写入ar就是二进制方式对文件的写入ar<<dataBuf[i],之后注意关闭:

    ar.Close();

    fileSave.Close();

MFC CArchive实现保存到二进制文件,码迷,mamicode.com

MFC CArchive实现保存到二进制文件

标签:com   http   style   blog   class   div   img   code   c   java   log   

原文地址:http://www.cnblogs.com/quantumplan/p/3702061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!