我使用 c++ 制作了一个备份程序,但它使用 System() 命令批量复制文件。
我正在寻找一种复制整个目录的方法(这不需要创建任何目录,只需复制它们)。或者,复制目录中的所有内容。
例如,我想复制C:\Users\ to E:\Backup\ Or C:\Users\* to E:\Backup\
.
如果可能的话,您能否在答案中包含一个示例。
非常感谢!
截至今天,C++17<filesystem>
是正确的解决方案。
#include <filesystem>
int main()
{
std::filesystem::copy("C:/Users/", "E:/Backup/");
}
斜杠 ( /
) 被解释为目录分隔符,这比双反斜杠 ( \\
) 更容易阅读。
1) include .h files:
#include <csystem>
2) write cmd:
system("copy c:\users\ e:\Backup\");
Tips: You can write everything in " " , just like you copy directorys in cmd.
使用 System 的方法不会独立于平台。我强烈建议对此类任务使用boost::filesystem。