Qt拷贝文件到指定目录
时间: 2023-09-20 16:11:58 浏览: 144
你可以使用QFile类来复制文件。以下是一个示例代码:
```cpp
#include <QFile>
#include <QDir>
bool copyFile(const QString &srcFilePath, const QString &tgtFilePath)
{
QFile srcFile(srcFilePath);
if (!srcFile.exists() || !srcFile.open(QIODevice::ReadOnly)) {
return false;
}
QDir tgtDir(QFileInfo(tgtFilePath).path());
if (!tgtDir.mkpath(".")) {
return false;
}
QFile tgtFile(tgtFilePath);
if (tgtFile.exists() && !tgtFile.remove()) {
return false;
}
if (!tgtFile.open(QIODevice::WriteOnly)) {
return false;
}
while (!srcFile.atEnd()) {
QByteArray buffer = srcFile.read(4096);
if (tgtFile.write(buffer) == -1) {
return false;
}
}
srcFile.close();
tgtFile.close();
return true;
}
```
在这个示例中,`copyFile`函数接受两个参数:源文件路径和目标文件路径。它首先检查源文件是否存在并可以打开。然后,它创建一个目标目录(如果不存在),并尝试删除目标文件(如果存在)。接下来,它打开目标文件并将源文件的内容复制到目标文件中。最后,它关闭两个文件并返回一个布尔值,指示复制是否成功。
阅读全文