首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QFile。设备未打开

QFile。设备未打开
EN

Stack Overflow用户
提问于 2018-07-22 16:06:31
回答 1查看 6.2K关注 0票数 4

我对QFile有意见。

代码语言:javascript
复制
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();

错误:

代码语言:javascript
复制
QIODevice::read (QFile, "file1.dat"): device not open
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-22 17:04:20

尝试在读写模式下打开file1.dat:

代码语言:javascript
复制
if(!file1.open(QIODevice::ReadWrite))
{
    qDebug() << "Ошибка открытия";
}

因为如果您打开它只是为了阅读,如果它不存在,就不能创建它,或者一开始就手动创建它。

如果没有打开该文件,您什么也不做,因此,为了确定是否首先打开了两个文件,请检查:

代码语言:javascript
复制
if(file1.isOpen() && file2.isOpen()){
    QByteArray block = file1.readAll();
    file2.write(block);
    file1.close();
    file2.close();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51466912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档