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

あなたのコメントから、実行可能ファイルが別の場所にあるため、単にファイルが見つからないように見えます。これを解決するにはさまざまな方法があり、最終的なユースケースがどのようなものになるかによって異なります。この問題を解決するには、次の方法があります。

  • ファイルへのパスのハード コード (相対または絶対)
  • ファイルを実行可能ファイルと同じディレクトリに移動します
  • コマンドラインオプションを使用して、ファイルの場所を実行可能ファイルに伝えます
  • 環境変数を使用して、実行可能ファイルにどこを探すかを指示します

最初の 2 つのオプションのいずれかをテストするには、迅速かつ簡単ですが、さらに進めたい場合は、おそらくそれよりも優れたものが必要になるでしょう。

于 2013-10-02T20:04:47.843 に答える