各位有这方面的代码吗?

解决方案 »

  1.   

    递归拷贝:
    void FolderFileCopy(CString strSource,CString strDestin)
    {
    CString strNewPath(strSource);
    CString strNew;
    CString strDestFile;
    CString strTemp;
    CString strSection;
    CString strKey;
    CString strName;
    HANDLE hFile;
    WIN32_FIND_DATA wfd; if(strNewPath == "")
    return; strNewPath += "\\*.*";
    hFile = ::FindFirstFile(strNewPath,&wfd);
    if( hFile == INVALID_HANDLE_VALUE )
    return; do
    {
    if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    {
    strName.Format("%s",wfd.cFileName);
    if(lstrcmp(wfd.cFileName,".") == 0 || lstrcmp(wfd.cFileName,"..") == 0)
    continue;
    strNew = strNewPath;
    strNew = strNew.Left(strNew.GetLength()-3);
    strNew += strName;
    strTemp = strDestin + "\\" + strName;
    ::CreateDirectory(strTemp,NULL);
    FolderFileCopy(strNew,strTemp);
    }
    else if(((wfd.dwFileAttributes & (FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM)) == 0))
    {
    strName.Format("%s",wfd.cFileName);
    strNew = strNewPath;
    strNew = strNew.Left(strNew.GetLength()-3);
    strTemp = strNew + strName;
    strDestFile = strDestin + "\\" + strName;
    File:");
    ::CopyFile(strTemp,strDestFile,TRUE);
    }
    }while(::FindNextFile(hFile,&wfd));
    FindClose(hFile);
    }
    //************************************************************
      

  2.   

    用SHFileOperation(LPSHFILEOPSTRUCT lpshfileopstruct)这个函数
      

  3.   

    谢谢!
    但我如何知道我所copy的文件是否正确呢,即如何判断其大小一致呢?
      

  4.   

    看函数操作的返回值呀,看msdn就可以了