用MFC打开一个文件
来源:互联网 发布:windows cortana如何 编辑:程序博客网 时间:2024/04/30 05:34
1.文件的打开/保存对话框
让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。MFC的类CFileDialog用于实现这种功能。使用CFileDialog声明一个对象时,第一个BOOL型参数用于指定文件的打开或保存,当为TRUE时将构造一个文件打开对话框,为FALSE时构造一个文件保存对话框。
在构造CFileDialog对象时,如果在参数中指定了OFN_ALLOWMULTISELECT风格,则在此对话框中可以进行多选操作。此时要重点注意为此CFileDialog对象的m_ofn.lpstrFile分配一块内存,用于存储多选操作所返回的所有文件路径名,如果不进行分配或分配的内存过小就会导致操作失败。下面这段程序演示了文件打开对话框的使用方法。
CFileDialog mFileDlg(TRUE,NULL,NULL,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,
"All Files (*.*) |*.* ||",AfxGetMainWnd());
CString str(" ",10000);
mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);
str.ReleaseBuffer();
POSITION mPos=mFileDlg.GetStartPosition();
CString pathName(" ",128);
CFileStatus status;
while(mPos!=NULL)
{
pathName=mFileDlg.GetNextPathName(mPos);
CFile::GetStatus(pathName,status);
}
2.文件的读写
文件的读写非常重要,下面将重点进行介绍。文件读写的最普通的方法是直接使用CFile进行,如文件的读写可以使用下面的方法:
//对文件进行读操作
char sRead[2];
CFile mFile(_T("user.txt "),CFile::modeRead);
if(mFile.GetLength()<2)
return;
mFile.Read(sRead,2);
mFile.Close();
//对文件进行写操作
CFile mFile(_T("user.txt"),CFile::modeWrite|CFile::modeCreate);
mFile.Write(sRead,2);
mFile.Flush();
mFile.Close();
虽然这种方法最为基本,但是它的使用繁琐,而且功能非常简单。我向你推荐的是使用CArchive,它的使用方法简单且功能十分强大。首先还是用CFile声明一个对象,然后用这个对象的指针做参数声明一个CArchive对象,你就可以非常方便地存储各种复杂的数据类型了。它的使用方法见下例。
//对文件进行写操作
CString strTemp;
CFile mFile;
mFile.Open("d://dd//try.TRY",CFile::modeCreate|CFile::modeNoTruncate |CFile::modeWrite);
CArchive ar(&mFile,CArchive::store);
ar<<ar.Close();
mFile.Close();
//对文件进行读操作
CFile mFile;
if(mFile.Open("d://dd//try.TRY",CFile::modeRead)==0)
return;
CArchive ar(&mFile,CArchive::load);
ar>>strTemp;
ar.Close();
mFile.Close();
CArchive的<<和>>操作符用于简单数据类型的读写,对于CObject派生类的对象的存取要使用ReadObject()和WriteObject()。使用CArchive的ReadClass()和WriteClass()还可以进行类的读写,如:
//存储CAboutDlg类
ar.WriteClass(RUNTIME_CLASS(CAboutDlg));
//读取CAboutDlg类
CRuntimeClass* mRunClass=ar.ReadClass();
//使用CAboutDlg类
CObject* pObject=mRunClass->CreateObject();
((CDialog*)pObject)->DoModal();
- 用MFC打开一个文件
- MFC打开一个文件
- 用MFC怎么样打开一个文件
- MFC打开一个文件方法汇总
- MFC单文档应用程序默认打开一个文件
- VC++(MFC) 打开磁盘上的一个位图文件 (转载)
- 毕设笔记:MFC打开一个图片文件
- 用MFC实现打开word文件
- MFC打开文件对话框
- MFC 文件打开对话框
- MFC对话框打开文件
- MFC打开文件对话框
- MFC打开文件对话框
- MFC打开文件对话框
- MFC打开文件对话框
- MFC 打开文件对话框
- MFC打开文件对话框
- MFC打开文件
- 线性表(总结3)
- indent设置
- 2PC,3PC和Paxos分布式一致性算法
- 虚拟化技术改变传统文件备份战略
- NFS文档(FOR LINUX)
- 用MFC打开一个文件
- C#索引器
- NS2安装笔记 - Ubuntu9.10
- 再看一个内存对齐的例子
- CEGUI 类列表 Class List
- Linux下创建静态、动态库
- 在LoadRunner中进行Base64的编码和解码
- Javascript 中的常见问题 IE 和 FIREFOX在解析CSS方面的区别
- Linux命令行修改ip