QT4 Textfile bearbeiten:

Alles rund um die Programmierung mit Qt
Antworten
dust2
Beiträge: 22
Registriert: 7. Juni 2007 16:16

QT4 Textfile bearbeiten:

Beitrag von dust2 »

Ich habe ein ASCII-Textfile, in welchem ich bestimmte Zeilen modifizieren und manche auch entfernen muss.
Zeilenweises einlesen/modifizieren zurückschreiben geht nicht, da durch readline() immer schon eine Zeile zuweit und löschen geht auch nicht.
Also Ablauf so geplant:
1.File öffnen(readonly) und in INTextStream einschreiben, File schließen
2. INTextStream zeilenweise in OUTextStream kopieren, dabei Änderungen vornehmen oder Zeile nicht übernehmen(löschen) bis Streamende,
3. File erneut öffnen(writeonly) und komplett mit OUTTextStream überschreiben.
Dazu muss ich aber den bereits vorhanden OUTTextStream nachträglich an das QFile binden, wie geht das? Habe nur setDevice() gefunden??
Oder macht man sowas ganz anders?

Danke für Eure Hilfe
Daniel
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

So ist es fast korrekt - nur dass Du nicht nach OutTextStream schreiben kannst wenn der noch keine IODevice hat. Also als IODevice ein QByteArray/QBuffer nehmen und dann dieses QByteArray in die Datei schreiben. Fertig.
setDevice() wäre im übrigen die korrekte Funktion.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
dust2
Beiträge: 22
Registriert: 7. Juni 2007 16:16

Beitrag von dust2 »

Danke, klappt super!
Antworten