原文:NanShan 的一段最简单的 CFile 读写文件源码
初学编程,经常会遇到文件读写的问题,这里 NanShan 给广大初学者写一段最简单的 CFile 读写文件源码:
- //读文件数据
- void CFileOperDlg::OnButtonRead()
- {
- // TODO: Add your control notification handler code here
- CFile file;
- CString FileName="data.txt";
- char buf[1000];//读1K
- memset(buf,0,1000);//初始化内存,防止读出字符末尾出现乱码
- try
- {
- if(!file.Open(FileName,CFile::modeRead))
- {
- MessageBox("没有文件!");
- return;
- }
- file.Read(buf,sizeof(buf));
- file.Close();
- m_data=buf;//给文本框赋值CString m_data
- UpdateData(false);//在文本框显示
- MessageBox("读出成功!");
- }
- catch(CFileException *e)
- {
- CString str;
- str.Format("读取数据失败的原因是:%d",e->m_cause);
- MessageBox("str");
- file.Abort();
- e->Delete();
- }
- }
- //写文件数据
- void CFileOperDlg::OnButtonWrite()
- {
- // TODO: Add your control notification handler code here
- UpdateData();//取文本框字符
- CFile file;
- CString FileName="data.txt";
- try
- {
- file.Open(FileName,CFile::modeCreate|CFile::modeWrite);
- file.SeekToBegin();
- file.Write((unsigned char *)(m_data.GetBuffer(0)),m_data.GetLength());//CString m_data
- file.Flush();
- file.Close();
- MessageBox("写入成功!");
- }
- catch(CFileException *e)
- {
- CString str;
- str.Format("写入失败的原因是:%d",e->m_cause);
- MessageBox("str");
- file.Abort();
- e->Delete();
- }
- }