我想将目录从一个驱动器复制到另一个驱动器。 我选择的目录包含许多子目录和文件。 如何使用vc ++
实现相同的功能答案 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;
}