MFC基于编辑框的文件读写

MFC基于编辑框的文件读写_第1张图片这个是小学期时的实训作业。
问题分为两块,即输入和输出。
这里我选择用CStdioFile类进行操作。
先是输入部分的代码:

void CFilebDlg::OnBnClickedButton1()
{
 // TODO: 在此添加控件通知处理程序代码
 CString str;
 GetDlgItem(IDC_EDIT1)->GetWindowText(str);
 CString filename = _T(".\\Text.txt");
 CString strWriteData;
 strWriteData.Format(str);
 CStdioFile csFile;
 CFileException cfException;
 if (csFile.Open(filename, CFile::typeText | CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate, &cfException))//以txt方式读取|若没有文件则创建该文件|文件打开时不清除
 {
  csFile.SeekToEnd();
  setlocale(LC_CTYPE, "chs");//为了能用csFile.WriteString(strWriteData)写入中文
  csFile.WriteString(strWriteData);
 }
 csFile.Close();
}

这里面需要注意的点是在头文件和cpp里加上#include < locale>//为了使用setlocale(LC_CTYPE, “chs”);便于输入中文到txt中

下面是输出部分的代码:

void CFilebDlg::OnBnClickedButton2()
{
 // TODO: 在此添加控件通知处理程序代码
 CString str;
 CString filename = _T(".\\Text.txt");
 CStdioFile csFile;
 CFileException cfException;
 if (csFile.Open(filename, CFile::typeText | CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate, &cfException))//以txt方式读取|若没有文件则创建该文件|文件打开时不清除
 {
  setlocale(LC_CTYPE, "chs");//为了能用csFile.WriteString(strWriteData)写入中文
  csFile.ReadString(str);
 }
 csFile.Close();
 GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}

这样就可以完美完成了!

你可能感兴趣的:(mfc,文件读写,编辑框)