【发布时间】:2018-07-22 16:06:31
【问题描述】:
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
【问题讨论】:
-
尝试使用
fileN.isOpen()检查这两个文件,以确保它们已打开。第二步,我将检查他们的位置。 -
我需要在哪里写 fileN.isOpen()? Qt 已经说 file1 没有打开。我也刚刚写了 QFile file1("file1.dat");我想说我没有创建file1.dat
-
在显示的代码中,如果
file1.open(...)失败,您仍然继续尝试使用file1.readAll()从中读取。 -
你期待什么?文件无法打开 - 可能不存在。