【发布时间】:2013-12-28 15:33:24
【问题描述】:
我想读取一个文件并将其放入一个 Qstring 中,但该文件不被读取 我在谷歌搜索了很多样本,但它不起作用...... 我要读文件...
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();
}
给我看:!read
我包含了您能想到的所有内容,并且 file.txt 是真实存在的??!! :-(
【问题讨论】:
-
请正确缩进代码
-
对我来说,它显示
read,然后是!read(请注意,open 被调用了两次;请使用else而不是if (!...);在您的代码中,即使第一次打开是成功,第二个不是因为它已经打开了)然后是文件的内容如预期的那样。您确定将文件放在构建目录中吗? -
“将无法工作”是什么意思?就我而言,内容是一个词; OP的代码读取一个单词,所以它起作用了。不是我决定只读一个词;)我应该写“第一个词”而不是“内容”。问题是关于打开一个文件,我猜,读取操作只是一个简单的测试,看看它是否真的有效。
-
好的,谢谢大家,但我想逐字阅读而不是 readAll() 或 readLine() ???
标签: c++ qt qtcore qfile qtextstream