Pregunta

Tengo algo como esto:

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

// ...
}

El texto QString consta de un texto de varias líneas que necesito convertir en un texto/QString en línea.¿Cómo puedo conseguir esto?saludos

¿Fue útil?

Solución

Pon tu texto en un QStringList, y use QStringList::join(), p.ej.

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

Otros consejos

Podrías usar el readAll funcion de QTextStream para obtener una cadena que contenga todo el texto y luego usar el replace funcion de QString para eliminar nuevas líneas:

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

Si tiene un archivo grande es mejor utilizar el readLine función.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top