質問

私はこのようなものを持っています:

void ReadFileAndConvert ()
{
    QFile File (Directory + "/here/we/go");

    if(File.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        QTextStream Stream (&File);
        QString Text;

        do
        {
            Text = Stream.readLine();
            Text = Text.simplified();
            // Here I want to convert the multiline QString Text into a oneline QString

// ...
}
.

QSTRINGテキストは、オンラインテキスト/ QSTRINGに変換する必要があるマルチラインテキストで構成されています。どうやってこれを達成できますか?挨拶

役に立ちましたか?

解決

テキストをQStringListに入れ、QStringList::join()、e. を使用します。

QStringList doc;
[...]
Text = Stream.readLine();
Text = Text.simplified();
doc << Text;
[...]
QString final = doc.join(" ");
.

他のヒント

readAll 順にQTextStreamの関数テキストをすべて含む文字列を取得してから、 replace 新しい行を削除するためのQStringの機能:

QString oneLineText = Stream.readAll().replace("\n"," ").simplified();
.

大きなファイルがある場合は、readLine関数を使用する方が良いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top