Qt - 将文件从一个目录复制到另一个目录

jok*_*oki 29 c++ qt

我正在使用QT,我无法找到如何将文件从一个目录复制到另一个目录?我怎样才能做到这一点?

Ste*_*han 79

您可以使用提供复制方法的QFile.

QFile::copy("/path/file", "/path/copy-of-file");
Run Code Online (Sandbox Code Playgroud)

  • 我认为你还应该指定它在出错时返回`false`.类似于:`if(!QFile :: copy(...)){... handle error ...}`.在某些情况下,可以忽略错误,在其他情况下,该过程必须停止! (4认同)

Ben*_*rme 9

如果目标文件存在,QFile::copy将无法工作。解决方案是验证目标文件是否存在,然后将其删除:

if (QFile::exists("/path/copy-of-file"))
{
    QFile::remove("/path/copy-of-file");
}

QFile::copy("/path/file", "/path/copy-of-file");
Run Code Online (Sandbox Code Playgroud)

  • 为什么不只是无条件 QFile::remove 呢?这更容易阅读并且运行更快。 (5认同)