Hallo Volker,
Vielen Dank für den Hinweis.
So ähnlich habe ich es nun gelöst.
@ if (!QFile::exists(f))
return false;
QFile file(f);
if (!file.open(QIODevice::Text | QFile::ReadOnly))
return false;
QByteArray data = file.readAll(); // --> hier waren schon alle CR verschwunden
@
Beim Rausschreiben folgt dann:
@ QTextDocument *doc = textEdit->document();
QString data = doc->toPlainText();
QByteArray bytes;
bytes.append(data);
QFile outputFile(fileName);
QFile::FileError err = outputFile.error();
if (outputFile.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate))
{
outputFile.write(bytes); // das muss es wohl gewesen sein siehe untern **
outputFile.close();
success = true;
}
}
@
** bei QFile stand da irgendwo in der Docu:
The QIODevice::Text flag passed to open() tells Qt to convert Windows-style line terminators ("\r\n") into C++-style terminators ("\n")
Das war dann auch so. Nach dem read waren alle verschwunden und kamen wieder nach dem write().
Die ursprüngliche Lösung mit QTextDocumentWriter hat nicht funktioniert, da waren CR weg.