Qt 复制文件到另一个地方
时间: 2024-09-25 09:18:27 浏览: 33
在Qt中,你可以使用`QFile`和`QCopyEngine`类来复制文件。以下是一个简单的示例,展示了如何读取源文件并将其内容写入到另一个位置:
```cpp
#include <QFile>
#include <QCopyEngine>
void copyFile(const QString &sourceFilePath, const QString &destinationFilePath) {
QFile source(sourceFilePath);
if (!source.open(QIODevice::ReadOnly)) {
qCritical("Failed to open source file for reading");
return;
}
QFile destination(destinationFilePath);
QCopyEngine copyEngine;
if (!copyEngine.copy(&source, &destination)) {
qCritical("Failed to copy file");
source.close();
return;
}
// Wait for the copy operation to finish
while (copyEngine.status() != QCopyEngine::Finished) {
QCoreApplication::processEvents();
}
if (!destination.error()) {
qDebug() << "File copied successfully";
} else {
qWarning() << "Destination file error: " << destination.errorString();
}
source.close();
destination.close();
}
```
在这个例子中,我们首先检查能否打开源文件进行读操作,然后创建一个`QCopyEngine`实例并开始复制。如果复制成功,我们会等待直到复制完成,然后关闭两个文件。
阅读全文