任务:
从一个文本文件中取出某些数据,生成一个新的文本文件。
从原文件中取出数据,生成新文件的代码已经完成。
我作的对话框为:
|---------------------------------------------------------|
| |
| 原文件名:IDC_EDIT1 |
| |
| 新文件名:IDC_EDIT2
| |
| 生成新文件按钮 取消按钮 |
|---------------------------------------------------------|
| IDC-EDIT3 |
| |
|---------------------------------------------------------|
其中:IDC-EDIT1对应的变量为:yuanfilename
IDC-EDIT2对应的变量为:newfilename
IDC-EDIT3对应的变量为:newfile
问题:
如何从控件IDC-EDIT1中取得文件名,并打开此文件(要考虑文件的存放路径),如何从控件IDC-EDIT2取得文件名,并打开此文件(要考虑文件的存放路径),
还有,要将新生成的文件内容显示在IDC-EDIT3中。
SOS!SO !S!...急!急!急!
从一个文本文件中取出某些数据,生成一个新的文本文件。
从原文件中取出数据,生成新文件的代码已经完成。
我作的对话框为:
|---------------------------------------------------------|
| |
| 原文件名:IDC_EDIT1 |
| |
| 新文件名:IDC_EDIT2
| |
| 生成新文件按钮 取消按钮 |
|---------------------------------------------------------|
| IDC-EDIT3 |
| |
|---------------------------------------------------------|
其中:IDC-EDIT1对应的变量为:yuanfilename
IDC-EDIT2对应的变量为:newfilename
IDC-EDIT3对应的变量为:newfile
问题:
如何从控件IDC-EDIT1中取得文件名,并打开此文件(要考虑文件的存放路径),如何从控件IDC-EDIT2取得文件名,并打开此文件(要考虑文件的存放路径),
还有,要将新生成的文件内容显示在IDC-EDIT3中。
SOS!SO !S!...急!急!急!
UpdateData(TRUE);
然后,yuanfilename就等于IDC-EDIT1内容,IDC-EDIT2内容是newfilename,用这两个变量调用你的代码,如果成功返回,则打开newfilename文件,把内容读取到newfile中。然后
UpdateData(FALSE);
就显示在IDC_EDIT3上。
新文件写在c:\zhong1\newfilename
要写出详细代码,高分才能到手!请给予帮助!急!急!急!
UpdateData();
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK)
{
yuanfilename=dlg.GetPathName();//或者newfilename
}
UpdateData(FALSE);
真难题啊~~~~~~~~~
----------以上是引用--------------------
吓得我以为我看错题了...这些对MFC稍微有点了解就应该是很容易的呀...
//看看MSDN比较好,保存的时候置为FALSE
if(dlgFile1.DoModal()==IDOK) //选择了文件
{
dlgFile1.GetPathName(); //取文件名
....
}
else
... //没有选择文件
newfile=yuanfilename+newfilename;UpdateData(FALSE);// 让新的变量update到edit control上。
/*
tony
//*/
newfile=yuanfilename+newfilename;UpdateData(FALSE);// 让新的变量update到edit control上。
/*
tony
//*/
newfile=yuanfilename+newfilename;UpdateData(FALSE);// 让新的变量update到edit control上。
/*
tony
//*/
try
{
CStdioFile f;
f.Open(_T("test.txt"),CFile::modeReadWrite);
CString strBuff; // CString buffer of File line while(f.ReadString(strBuff))
{
yuanfilename+=strBuff;
}
f.Close();
}
catch(CFileException* e)
{
TCHAR szErr[1024];
e->GetErrorMessage(szErr, 1024);
AfxMessageBox(szErr);
e->Delete();
}这是读出原文件的内容放到yuanfilename里面。以此类推读new file的内容。之后按照我上面的方法就行了。