gpt4 book ai didi

c++ - QFile 不会打开文件

转载 作者:搜寻专家 更新时间:2023-10-31 00:16:36 26 4
gpt4 key购买 nike

我有一个基本上是从 Qt 网站上窃取的程序,用于尝试打开一个文件。该程序拒绝打开任何我不明白为什么的东西。我已经查找了很多文档,但一无所获,请您解释一下为什么它不起作用。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFile>
#include <QTextStream>
#include <QString>
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent)
{
QFile file("C:/n.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
QString f=in.readLine();
lab =new QLabel("error",this);
lab->setGeometry(100,100,100,100);
lab->setText(f);

}

最佳答案

在打开文件之前,您总是可以检查是否存在:

QFile file("myfile.txt");
if (!file.exists()) {
// react
}

如果文件存在但没有打开,您可以获得错误状态和消息:

QString errMsg;
QFileDevice::FileError err = QFileDevice::NoError;
if (!file.open(QIODevice::ReadOnly)) {
errMsg = file.errorString();
err = file.error();
}

并且总是:如果文件是开放式的,那么记得关闭它。在您的示例中,您没有:

file.close();

关于c++ - QFile 不会打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619517/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com