【问题标题】:Will QFile::copy create create a copy of the file or move the contents from one file to another?QFile::copy create 会创建文件的副本还是将内容从一个文件移动到另一个文件?
【发布时间】:2012-05-11 18:26:41
【问题描述】:

我正在尝试使用 C++/Qt 将文件从一个位置复制到另一个位置(在设备中)

我试过 QFile::copy("path1/file","path2");

我想将path1中的文件复制到path2。 path2 没有该文件。

我只是想知道这是否是正确的方法,因为上面的代码似乎不起作用。

另外,我应该在尝试复制之前打开文件吗?需要帮助!

【问题讨论】:

标签: c++ qfile


【解决方案1】:

如果您想将path1/file 复制到具有相同文件名的path2,您需要这样做:

QFile::copy("path1/file", "path2/file");

复制允许您更改文件的名称。示例:

QFile::copy("path1/file1", "path1/file2");

这就是为什么您需要两次都包含文件名的原因。此外,不必先打开文件。为了回答标题问题,它复制了文件。 QFile::rename() 移动内容。

【讨论】:

  • 谢谢!我还有一个问题。如果文件已存在于目标位置,则此 Qfile 副本将返回 false。我想第一次复制文件,每次修改源文件的内容。在第二种情况下,我必须使用 QFile rename()?
  • 没有。如果文件已存在,则复制和重命名都将失败。您必须先删除目标文件。
  • 这可以用来将资源文件复制到某个路径吗?例如,QFile::copy(":/default.jpg", "data.jpg"); 可能吗?
  • @ThePeacefulCoder 您应该将其作为一个新问题提出。不幸的是,我不知道答案。
  • @ThePeacefulCoder 此链接声称它确实适用于复制资源文件:forum.qt.io/topic/13131/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-06
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多