MFC应用实例:[44]对文本文件进行读取
1、新建一个基于对话框的应用程序,工程名为RWTextFile。
![MFC应用实例:[44]对文本文件进行读取](https://exp-picture.cdn.bcebos.com/974a2f21056104a3e557781d63d7592ae2ef6b16.jpg)
2、如下图为对话框添加三个按钮,二个编辑框。
![MFC应用实例:[44]对文本文件进行读取](https://exp-picture.cdn.bcebos.com/e2aefe781431dfb68ad2acd512cf02532e636316.jpg)
3、对编辑框设置如下:Multiline设置为true
![MFC应用实例:[44]对文本文件进行读取](https://exp-picture.cdn.bcebos.com/031231632385e0365d2fbc5bb8e039723c035a16.jpg)
4、对“写入文件”按钮进行添加响应函数OnWrite(),在相应函数OnWrite()中添加一下代码:
void CRWTextFileDlg::OnWrite()
{
UpdateData(true);
CString strFilter,fileName,strText;
strFilter="Text Files(*.txt)|*.txt||";
CFileDialog dlg(FALSE, NULL, NULL, OFN_EXPLORER|OFN_HIDEREADONLY|
OFN_ENABLESIZING|OFN_FILEMUSTEXIST,strFilter);
if(dlg.DoModal() == IDOK )//显示保存文件对话框
{
fileName=dlg.GetPathName();
CFile savefile(fileName,CFile::modeCreate|CFile::modeWrite);//构造CFile对象
savefile.Write(m_strWrite,m_strWrite.GetLength());//写文件数据
savefile.Close();//关闭文件
}
}
![MFC应用实例:[44]对文本文件进行读取](https://exp-picture.cdn.bcebos.com/38332303bbea3e86f6f69af05cd4483105eb5516.jpg)
5、对“读取文件”按钮进行添加响应函数OnRead(),在相应函数OnRead()中添加一下代码:
void CRWTextFileDlg::OnRead()
{
CString strFilter,fileName;
strFilter="Text Files(*.txt)|*.txt||";
CFileDialog dlg(TRUE, NULL, NULL, OFN_EXPLORER|OFN_HIDEREADONLY|OFN_ENABLESIZING|OFN_FILEMUSTEXIST,strFilter);
if(dlg.DoModal() == IDOK )//显示打开文件对话框
{
fileName=dlg.GetPathName();
CFile openfile(fileName,CFile::modeRead);//构造CFile对象
int length=openfile.GetLength();//获取文件长度
char *strText;
strText=new char[length];
openfile.Read(strText,length);
openfile.Close();//关闭文件
m_strRead=(CString)strText;
delete [] strText;
UpdateData(false);
}
}
![MFC应用实例:[44]对文本文件进行读取](https://exp-picture.cdn.bcebos.com/d695563104ebf6a793b17998ffee1c324a184f16.jpg)
6、程序运行如下
![MFC应用实例:[44]对文本文件进行读取](https://exp-picture.cdn.bcebos.com/836a6aee1c324b188092774253a7263349844816.jpg)
![MFC应用实例:[44]对文本文件进行读取](https://exp-picture.cdn.bcebos.com/8db0c6a7263348841b5db09fddee7b7f870e4516.jpg)