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