工控编程吧
标题:
上位机MFC如何复制文件
[打印本页]
作者:
qq263946146
时间:
2019-8-1 12:38
标题:
上位机MFC如何复制文件
文件的复制可以使用函数CopyFile。
函数传递源文件,目标文件,以及目标路径文件重名的处理方法。
假如我们让用户选择了源文件strSourcePathName。
也选择了目标strTargetPathName。我们就可以调用此函数来实现文件复制。
添加按钮1,让用户选择源文件。
void CDemoDlg::OnTest1()
{
//创建文件对话框
CString strFilter = _T("所有文件(*.*)|*.*||");
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY |
OFN_OVERWRITEPROMPT, strFilter);
dlg.m_ofn.lpstrTitle = _T("源文件");
if(dlg.DoModal() == IDOK)
{
//获得源文件路径
CString strSourcePathName = dlg.GetPathName();
SetDlgItemText(IDC_TEXT1, strSourcePathName);
}
}
添加按钮2,让用户选择目标文件
void CDemoDlg::OnTest2()
{
//创建文件对话框
CString strFilter = _T("所有文件(*.*)|*.*||");
CFileDialog dlg(FALSE, NULL, NULL, OFN_HIDEREADONLY |
OFN_OVERWRITEPROMPT, strFilter);
dlg.m_ofn.lpstrTitle = _T("目标文件");
if(dlg.DoModal() == IDOK)
{
//获得目标文件路径
CString strTargetPathName = dlg.GetPathName();
SetDlgItemText(IDC_TEXT2, strTargetPathName);
}
}
复制代码
添加复制按钮,实现文件复制
void CDemoDlg::OnTest3()
{
CString strSourcePathName = _T("");
GetDlgItemText(IDC_TEXT1, strSourcePathName);
CString strTargetPathName = _T("");
GetDlgItemText(IDC_TEXT2, strTargetPathName);
if (strSourcePathName == _T(""))
{
AfxMessageBox(_T("请选择源文件。"));
return;
}
if (strTargetPathName == _T(""))
{
AfxMessageBox(_T("请选择目标文件。"));
return;
}
//复制文件,如果目标文件存在将不覆盖。
if (::CopyFile(strSourcePathName, strTargetPathName, TRUE))
{
AfxMessageBox(_T("复制文件成功。"));
}
else
{
AfxMessageBox(_T("复制文件失败。"));
}
}
复制代码
控件ID,
IDC_TEXT1,
IDC_TEXT2为我们添加的编辑框。
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4