我对QFile
有疑问。
QFile file1("file1.dat");
QFile file2("file2.dat");
if(file2.exists())
{
}
if(!file1.open(QIODevice::ReadOnly))
{
qDebug() << "Ошибка открытия для чтения";
}
if(!file2.open(QIODevice::WriteOnly))
{
qDebug() << "Ошибка открытия для записи";
}
QByteArray block = file1.readAll();
file2.write(block);
file1.close();
file2.close();
错误:
QIODevice::read (QFile, "file1.dat"): device not open
答案 0 :(得分:0)
尝试以读写模式打开file1.dat:
if(!file1.open(QIODevice::ReadWrite))
{
qDebug() << "Ошибка открытия";
}
由于仅将其打开以供阅读,如果它不存在则无法创建,或者首先手动创建。
如果没有打开该文件,则您什么也不做,因此只是为了确保首先检查两个文件是否都已打开:
if(file1.isOpen() && file2.isOpen()){
QByteArray block = file1.readAll();
file2.write(block);
file1.close();
file2.close();
}