QFile won't open the file

c++, file, qfile, qt

Solution

Before opening the file, you can always check the existense:

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

If file exists but does not open, you can get the error state and message:

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

And always: if the file was openend, then remember to close it. In your example you didn't:

file.close();

Problem

I have a program that I basically stole from the Qt website to try to get a file to open. The program refuses to open anything I am confused as to why. I have looked for lots of documentation but found nothing can you please explain why it does not work. ``` #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); } ```

Original source