要在Qt中实现文件的拷贝,可以使用QFile和QDir类。下面是一个示例代码,展示如何将文件从一个路径拷贝到另一个路径:
#include <QFile>
#include <QDir>
bool copyFile(const QString& sourceFilePath, const QString& destinationFilePath)
{
QFile sourceFile(sourceFilePath);
if (!sourceFile.exists() || !sourceFile.open(QIODevice::ReadOnly))
return false;
QFile destinationFile(destinationFilePath);
if (destinationFile.exists())
return false;
QDir destinationDir = QFileInfo(destinationFilePath).dir();
if (!destinationDir.mkpath("."))
return false;
if (!destinationFile.open(QIODevice::WriteOnly))
return false;
QByteArray buffer;
while (!sourceFile.atEnd()) {
buffer = sourceFile.read(8192);
destinationFile.write(buffer);
}
sourceFile.close();
destinationFile.close();
return true;
}
你可以调用 copyFile()
函数来执行拷贝操作,传入源文件路径和目标文件路径作为参数。如果成功拷贝返回 true
,否则返回 false
。
请注意,在实际使用时,请确保对源文件和目标文件的读写权限,并处理可能发生的错误情况。
内容由零声教学AI助手提供,问题来源于学员提问