C++,MFC工程如何浏览一个文件,复制到另外一个文件夹?

2024-11-14 10:55:57
推荐回答(1个)
回答1:

主要有两个难点:
1、如何选择文件;
2、选择好文件之后,如果复制;

1st、关于文件选择,可参考下面这段代码:
CString CDcPackerDlg::BootOpenDialog() //返回选择的文件名称
{
CString strFile = _T("");

CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);

if (dlgFile.DoModal())
{
strFile = dlgFile.GetPathName();
}

return strFile;
}

//加载文件按钮
void CDcPackerDlg::OnBnClickedSelectdec()
{
// TODO: Add your control notification handler code here
m_strDescPath = ""; //类的成员变量

//"打开文件"对话框,选择文件,返回其路径
m_strDescPath = BootOpenDialog();
}

2nd、文件复制:
2.1 获得程序目录
CString strPath = "", strDir = "";
char filepath[MAX_PATH];
GetModuleFileName(NULL, filepath, MAX_PATH);
strDir.Format("%s", filepath);
strPath = strDir.Left(strDir.ReverseFind('\\'));

2.2 复制文件
在MFC下可以用CopyFile()函数,定义如下:
BOOL CopyFile(
LPCTSTR lpExistingFileName, //原文件地址,包括文件名
LPCTSTR lpNewFileName, ////目的文件地址,包括文件名
BOOL bFailIfExists //如果目的文件存在的操作
);

3rd、自己把上面给的代码组装一下,就可以满足你的要求了。