文件的复制可以使用函数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为我们添加的编辑框。
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|