c ++将目录复制到另一个目录(linux cp命令)

时间:2017-04-15 00:31:30

标签: c++ linux directory cp

我试图实现cp -r命令,这样当用户键入cp -r dir dir1时,dir会被复制并粘贴到dir1中。下面是我到目前为止,它复制目录中的文件和目录,但它不复制目录本身。例如,当有一个文件1和一个目录'一个内部目录时,它只会复制并粘贴file1和' a'在dir1里面,但不是目录dir本身。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您将算法开始深入到您正在复制的目录中的一步:dir_entry = readdir(dir)读取内部源目录,因此源目录本身不会被复制。

功能很好,你只需要一个额外的步骤就可以了。

您需要先执行

,而不是调用dirCopy("a", "b")
mkdir("b/a", convertMode("a")); 

然后

dirCopy("a", "b/a");

因此,您将需要从path中提取最后文件名部分的代码,以便您可以将其附加到newPath。如果您需要帮助,可以查看以下问题:Get a file name from a path