0

我需要从 foo.txt 中读取字符串:

#include <QDebug>
#include <QFile>
#include <QStringList>
#include <QTextStream>

int main( int argc, char** argv )
{
    QFile file("foo.txt");
    if (!file.open(QIODevice::ReadOnly))
        return 1;
    QStringList stringList;
    QTextStream textStream(&file);
    textStream.readLine();
    while (!textStream.atEnd())
        stringList << textStream.readLine();

    file.close();

    qDebug() << stringList;

    return 0;
}

输出

文件打开,但 textStream 始终为空。

4

1 回答 1

1

从您的评论看来,可执行文件根本找不到文件,因为它们位于不同的位置。有多种方法可以解决这个问题,这取决于最终的用例是什么。以下是一些可以解决问题的方法:

  • 文件路径中的硬代码(相对或绝对)
  • 将文件移动到与可执行文件相同的目录中
  • 使用命令行选项告诉可执行文件文件在哪里
  • 使用环境变量告诉可执行文件在哪里查找

测试前两个选项中的任何一个都快速而简单,但如果您打算更进一步,您可能会想要比这更好的东西。

于 2013-10-02T20:04:47.843 回答