7

我使用 c++ 制作了一个备份程序,但它使用 System() 命令批量复制文件。

我正在寻找一种复制整个目录的方法(这不需要创建任何目录,只需复制它们)。或者,复制目录中的所有内容。

例如,我想复制C:\Users\ to E:\Backup\ Or C:\Users\* to E:\Backup\.

如果可能的话,您能否在答案中包含一个示例。

非常感谢!

4

3 回答 3

9

截至今天,C++17<filesystem>是正确的解决方案。

#include <filesystem>

int main()
{
    std::filesystem::copy("C:/Users/", "E:/Backup/");
}

斜杠 ( /) 被解释为目录分隔符,这比双反斜杠 ( \\) 更容易阅读。

于 2018-02-19T14:29:11.527 回答
4

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.

于 2013-01-17T14:09:09.370 回答
4

使用 System 的方法不会独立于平台。我强烈建议对此类任务使用boost::filesystem

于 2013-01-17T11:40:53.703 回答