Konvertieren Sie einen mehrzeiligen QString in einen einzeiligen QString
Frage
Ich habe so etwas:
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
// ...
}
Der QString-Text besteht aus einem mehrzeiligen Text, den ich in einen Online-Text/QString konvertieren muss.Wie kann ich das erreichen?Grüße
Lösung
Legen Sie Ihren Text in einen QStringList
und verwenden Sie den generationspflichtigen, z. B.
generasacodicetagpre.
Andere Tipps
Du könntest das verwenden readAll
Die Funktion von QTextStream
um eine Zeichenfolge zu erhalten, die Ihren gesamten Text enthält, und verwenden Sie dann die replace
Die Funktion von QString
Um neue Zeilen zu entfernen:
QString oneLineText = Stream.readAll().replace("\n"," ").simplified();
Wenn Sie eine große Datei haben, ist es besser, die zu verwenden readLine
Funktion.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow