Domanda

Ho qualcosa di simile:

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

// ...
}
.

Il testo QString è costituito da un testo multilineo che devo convertire in un testo online / QString.Come posso raggiungere questo obiettivo?Saluti

È stato utile?

Soluzione

Metti il testo in un QStringList e usa QStringList::join(), E.G.

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

Altri suggerimenti

È possibile utilizzare readAll Funzione di QTextStream in ordinePer ottenere una stringa contenente tutto il testo e quindi utilizzare replace Funzione di QString per rimuovere nuove linee:

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

Se hai un file di grandi dimensioni è meglio utilizzare la funzione readLine.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top