Question

J'ai quelque chose comme ça :

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

// ...
}

Le texte QString se compose d'un texte multiligne que je dois convertir en un texte/QString en ligne.Comment puis-je atteindre cet objectif?salutations

Était-ce utile?

La solution

Mettez votre texte dans un QStringList, et utilise QStringList::join(), par exemple.

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

Autres conseils

Vous pourriez utiliser le readAll fonction de QTextStream afin d'obtenir une chaîne contenant tout votre texte puis d'utiliser le replace fonction de QString afin de supprimer de nouvelles lignes:

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

Si vous avez un gros fichier, il est préférable d'utiliser le readLine fonction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top