mfc 如何复制文件到文件夹

mfc 如何复制文件到文件夹,第1张

主要有两个难点:

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、自己把上面给的代码组装一下,就可以满足你的要求了。

打字不易,如满意,望采纳。

CString   strFolderPath="c:\\test"   

  //   判断路径是否存在   

  if   (!PathIsDirectory(m_strFolderPath)   )   

  {   

      CString   strMsg   

      strMsg.Format   ("指定路径\"%s\"不存在,是否创建?",   m_strFolderPath)   

      if   (AfxMessageBox(strMsg,   MB_YESNO)   ==   IDYES)   

      {   

          if   (!CreateDirectory(m_strFolderPath,   NULL))//here

        滑烂轮  {   

       历迟         strMsg.Format   ("创建路径\"%s\"失败!是否继续?",   m_strFolderPath)   

           信信     if   (AfxMessageBox(strMsg,   MB_YESNO)   ==   IDYES)   

                      return   

            }   

      }   

  }

其实就是一个函数:CreateDirectory


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12268051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存