我用c++制作了一个备份程序,但是它使用
system()
命令来批量复制文件。
我正在寻找一种复制整个目录的方法(这不需要创建任何目录,只需复制它们)而不依赖于操作系统相关的调用/API。
例如我要复制
C:\Users\ to E:\Backup\ Or C:\Users\* to E:\Backup\
。
如果可能的话,您可以在答案中包含一个示例吗?
<filesystem>
是正确的解决方案。
#include <filesystem>
int main()
{
std::filesystem::copy("C:/Users/", "E:/Backup/");
}
斜杠 (
/
) 被解释为目录分隔符,这比双反斜杠 (\\
) 更容易阅读。
使用 System 的方法不会独立于平台。我强烈建议使用 boost::filesystem 来完成此类任务。
1)包含.h文件:
#include <csystem>
2)写入cmd:
system("copy c:\users\ e:\Backup\");
提示:你可以在“ ”中写入所有内容,就像在cmd中复制目录一样。