if(finder.IsDirectory() &&!finder.IsDots())
{
// 是子文件夹,递归调用本函数
}
else
{
finder.GetFilePath()// 获取文洞型件亏缺的完整路径
finder.GetFileName()// 获纳空猜取文件名,包括扩展名
}
CFileDialog dlgif(IDCANCEL == dlg.DoModal()){
return
}
CString filePath = dlg.GetFilePathName()
主要有两个难点:1、如何选择文件;
2、选择好文件之后,如果复制;
1st、关于文件选择,可参考下面这段代码:
CString CDcPackerDlg::BootOpenDialog() //返回选择的文件名称
{
CString strFile = _T("")
CFileDialogdlgFile(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、自己把上面给的代码组装一下,就可以满足你的要求了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)