Qt: чтение файла не работает
Я хочу прочитать файл и поместить его в строку Qstring, но файл не читается. Я искал много примеров в Google, но это не работает... Я хочу прочитать файл...
using namespace std;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFile in1("file.txt");
QTextStream in(&in1);
if (in1.open(QFile::ReadOnly | QFile::Text))
{
QLabel *label = new QLabel("read");
label->show();
}
if (!in1.open(QFile::ReadOnly | QFile::Text))
{
QLabel *label = new QLabel("!read");
label->show();
}
QString s1;
in >> s1;
QLabel *label = new QLabel(s1);
label->show();
return app.exec();
}
покажи мне:! читай
Я включил все, что вы можете думать, и file.txt находится в правильном месте??!!:-(
1 ответ
Решение
Этот код работает для меня ниже.
file.txt
Hello World!
main.cpp
#include <QLabel>
#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QString>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFile in1("file.txt");
QTextStream in(&in1);
if (in1.open(QFile::ReadOnly | QFile::Text))
{
QLabel *label = new QLabel("read");
label->show();
}
if (!in1.open(QFile::ReadOnly | QFile::Text))
{
QLabel *label = new QLabel("!read");
label->show();
}
QString s1;
in >> s1;
QLabel *label = new QLabel(s1);
label->show();
return app.exec();
}
строить
g++ -Wall -fPIC -lQt5Core -lQt5Widgets -I/usr/include/qt -I/usr/include/qt/QtCore -I/usr/include/qt/QtWidgets main.cpp && ./a.out
или main.pro
Файл проекта qmake:
TEMPLATE = app
TARGET = main
greaterThan(QT_MAJOR_VERSION, 4):QT += widgets
SOURCES += main.cpp
Это покажет все три ярлыка для меня, но я не уверен, что это то, что вы хотели. Обработка ошибок также отсутствует в вашем коде.