文件夹复制VC ++

时间:2010-03-29 07:41:11

标签: c++ model-view-controller visual-c++ msdn

我想将目录从一个驱动器复制到另一个驱动器。 我选择的目录包含许多子目录和文件。 如何使用vc ++

实现相同的功能

3 个答案:

答案 0 :(得分:5)

SHFileOperation() API函数是复制文件的主力函数。它支持递归目录。查看SHFILEOPSTRUCT结构中可用的选项以控制副本。

答案 1 :(得分:0)

艰难的道路。单独复制每个文件。

使用FindFirst()FindNext()迭代目录的内容 使用SetCurrentDirectory()进出目录
使用CreateDirectory()创建新文件夹树
最后,使用CopyFile()复制实际文件

答案 2 :(得分:-1)

如果您有权访问boost库,那么这是您的朋友:

http://www.boost.org/doc/libs/1_42_0/libs/filesystem/doc/index.htm

使用文件系统迭代器检查教程中的好例子。

为了帮助您入门:

#include <iostream>
#include “boost/filesystem.hpp”
int main(int argc, char *argv[])
  {
  boost::filesystem::path path1("/usr/local/include"); // your source path
  boost::filesystem::path::iterator pathI = path1.begin();
  while (pathI != path1.end())
    {
    std::cout << *pathI << std::endl; // here you could copy the file or create a directory
    ++pathI;
    }
  return 0;
  }