您的位置:首页 > 其它

MFC 读写文件

2010-04-23 10:55 232 查看
写入文件:

CFile file("abc.txt", CFile::modeWrite|CFile::modeCreate); //打开abc.txt文件
CString str = "abcedkwfjwfj";
file.Write(str, str.GetLength()); //写入文件
file.Close();


读取文件:

CFile file("abc.txt", CFile::modeRead);
DWORD dwFileLen;
dwFileLen = file.GetLength();
char* pBuf;
pBuf = new char[dwFileLen+1];
pBuf[dwFileLen] = 0;
file.Read(pBuf,dwFileLen);
file.Close();
CString csBuf;
csBuf.Format("%s", pBuf); //csBuf字符串即为abc.txt中的字符串
MessageBox(csBuf, "", MB_OK);


-------------------------------------------------------------------

举例:

1.先用vc6.0创建个MFC的对话框程序 ReadFile工程,界面如下图:



2.在对话框上右键,建立【类向导】(classwizard),在【成员变量】(Member Variables)中为控件添加关联变量。如下图:



3.在双击【保存】按钮,为点击事件添加代码:

void CReadFileDlg::OnButton1()
{
// TODO: Add your control notification handler code here
SYSTEMTIME stTime;
GetLocalTime(&stTime); //获取系统时间
CString date;
date.Format("%4d年%2d月%2d日.txt", stTime.wYear, stTime.wMonth, stTime.wDay); //以系统时间作为文件名
CFile file(date, CFile::modeWrite|CFile::modeCreate);
CString huanhang = "#";
CString xing = "*";
UpdateData(TRUE);
file.Write(m_income, m_income.GetLength());
file.Write(huanhang, huanhang.GetLength());
file.Write(m_pay, m_pay.GetLength());
file.Write(xing, xing.GetLength());
file.Write(m_cash, m_cash.GetLength());
UpdateData(FALSE);
file.Close();
}


4.双击【查看】按钮,为点击事件添加代码:

void CReadFileDlg::OnButton2()
{
// TODO: Add your control notification handler code here
SYSTEMTIME stTime;
GetLocalTime(&stTime);
CString date;
date.Format("%4d年%2d月%2d日.txt", stTime.wYear, stTime.wMonth, stTime.wDay);
CFile file(date, CFile::modeRead);
DWORD dwFileLen;
dwFileLen = file.GetLength();
char* pBuf;
pBuf = new char[dwFileLen+1];
pBuf[dwFileLen] = 0;
file.Read(pBuf,dwFileLen);
file.Close();
CString csBuf, cstemp;
csBuf.Format("%s", pBuf);
int flag1 = csBuf.Find('#', 0);
int flag2 = csBuf.Find('*', 0);
UpdateData(TRUE);
m_income = csBuf.Left(flag1);
m_pay = csBuf.Mid(flag1 + 1, flag2-1 - flag1);
m_cash = csBuf.Right(csBuf.GetLength()-1 - flag2);
UpdateData(FALSE);
delete []pBuf;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: