QFile. Устройство не открыто
У меня проблема с 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
1 ответ
Решение
Попробуйте открыть file1.dat в режиме чтения-записи:
if(!file1.open(QIODevice::ReadWrite))
{
qDebug() << "Ошибка открытия";
}
Потому что, если вы открываете его только для чтения, его нельзя создать, если он не существует, или сначала создать его вручную.
и в случае, если этот файл не открыт, вы ничего не делаете, поэтому просто для уверенности проверьте, были ли оба файла открыты сначала:
if(file1.isOpen() && file2.isOpen()){
QByteArray block = file1.readAll();
file2.write(block);
file1.close();
file2.close();
}