基于VC6.0 MFC对话框的“文件读写”代码。求修改。。 5
voidCReferenceDlg::OnButtonRead(){//TODO:Addyourcontrolnotificationhandlercodeherefst...
void CReferenceDlg::OnButtonRead()
{
// TODO: Add your control notification handler code here
fstream f1;//定义文件流对象
char s[200];
char fl;
CFileDialog filedlg(1,//1-文件打开,0-文件另存为
".txt|*.*",
NULL,
OFN_OVERWRITEPROMPT,
"文本文件(*.txt)|*.txAll Files(*.*)|*.*||",
NULL);
if (filedlg.DoModal()==IDOK)
{
UpdateData(true);
strFileName==filedlg.GetFileName();//获得文件名
if (!IsTextFile(strFileName))//判断文件类型是否正确
{
AfxMessageBox("文件类型不正确");
return;
}
fl.open(strFileName,ios::in|ios::nocreate);//定义打开输入文件流对象,ios::nocreate打开一个已有的文件,如果文件不存在,则打开失败,不建立新文件
while(!fl.eof())
{
fl.getline(s,225);
m_strRead=m_strRead+"\r\n"+s;//添加文件中的文本框到编辑框
UpdateData(false);
}
AfxMessageBox(strFileName+"文件输入完毕");//保存结束提示
fl.close();//关闭文件流
}
}
bool CReferenceDlg::IsTextFile(CString &rFile)//判断文件类型是否正确
{
CStringList strList;
CString str(File);
strList.AddHead(".TXT");
strList.AddHead(".SYS");
strList.AddHead(".BAT");
strList.AddHead(."DAT");
str=str.Right(4);//文件名的右边四位字符
str.MakeUpper();//转换成大写
return(strList.Find(str))?TRUE:FALSE;
}
D:\MSDev98\MyProjects\Reference\ReferenceDlg.cpp(237) : error C2228: left of '.open' must have class/struct/union type
D:\MSDev98\MyProjects\Reference\ReferenceDlg.cpp(238) : error C2228: left of '.eof' must have class/struct/union type
D:\MSDev98\MyProjects\Reference\ReferenceDlg.cpp(238) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
Reference.exe - 3 error(s), 0 warning(s)
还是不行 展开
{
// TODO: Add your control notification handler code here
fstream f1;//定义文件流对象
char s[200];
char fl;
CFileDialog filedlg(1,//1-文件打开,0-文件另存为
".txt|*.*",
NULL,
OFN_OVERWRITEPROMPT,
"文本文件(*.txt)|*.txAll Files(*.*)|*.*||",
NULL);
if (filedlg.DoModal()==IDOK)
{
UpdateData(true);
strFileName==filedlg.GetFileName();//获得文件名
if (!IsTextFile(strFileName))//判断文件类型是否正确
{
AfxMessageBox("文件类型不正确");
return;
}
fl.open(strFileName,ios::in|ios::nocreate);//定义打开输入文件流对象,ios::nocreate打开一个已有的文件,如果文件不存在,则打开失败,不建立新文件
while(!fl.eof())
{
fl.getline(s,225);
m_strRead=m_strRead+"\r\n"+s;//添加文件中的文本框到编辑框
UpdateData(false);
}
AfxMessageBox(strFileName+"文件输入完毕");//保存结束提示
fl.close();//关闭文件流
}
}
bool CReferenceDlg::IsTextFile(CString &rFile)//判断文件类型是否正确
{
CStringList strList;
CString str(File);
strList.AddHead(".TXT");
strList.AddHead(".SYS");
strList.AddHead(".BAT");
strList.AddHead(."DAT");
str=str.Right(4);//文件名的右边四位字符
str.MakeUpper();//转换成大写
return(strList.Find(str))?TRUE:FALSE;
}
D:\MSDev98\MyProjects\Reference\ReferenceDlg.cpp(237) : error C2228: left of '.open' must have class/struct/union type
D:\MSDev98\MyProjects\Reference\ReferenceDlg.cpp(238) : error C2228: left of '.eof' must have class/struct/union type
D:\MSDev98\MyProjects\Reference\ReferenceDlg.cpp(238) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
Reference.exe - 3 error(s), 0 warning(s)
还是不行 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询