1

ファイルの読み取りにQtを使用しています

  std::vector<QString> text;

  QFile f(file);
  if (f.open(QFile::ReadWrite | QFile::Text) == false)
    throw my_exception();

  QTextStream in(&f);
  QString line;
  while(!in.atEnd()) {
    line = in.readLine();

    text.push_back(line);
  }
  f.close();

このアプローチの問題は、ファイルの末尾にある余分な改行を読み取れないことです。

次のテキストファイルがあるとします

Hello world\r\n
\r\n

最後の行の空の文字列を取得できません\r\n。どうすればこれを解決できますか?

4

2 に答える 2

0

改行は削除されると思います。QTextStream の Qt ドキュメントを参照してください。

readAll() を使用するか、改行が空の場合は自分で '\n\r' を追加する必要があります。

于 2016-07-13T09:56:18.103 に答える