Speicherplatz eines Model/View Modells

Alles rund um die Programmierung mit Qt
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Sollte thoerethscih kein problem machen ... Ausser das "\n" bissi blaeuaeugig ist.
unter windows ist das Zeilentrennzeichen "\r\n" :-)
bytes ist die Ausgabe eines Kommandozeilenprogramms mittles QProcess.
wie bekommst du ein IODevice zu nem string ?(variable byte in deinem Fall). vielleicht liegt da scho das Problem ....
Mal getestet wie gross dein String wird .... und wenn den staendig "erweitern" musst, iss das natuerlich die Hoelle fuer den speichermanager und die performance.

Aber prinizipiell .... die ausgabe von QProzess IOStream(QIODevice) im Textformat. ....
DU kannst dir also nie sicher sein wieviel bytes dahinter liegen ... und dafuer sind textstroeme ja da.
Intuitiv besser waere sowas:

Code: Alles auswählen

QTextStream streamIn(&myProcess);
while (!streamIn.atEnd())
{
    QString myLine = streamIn.readLine();
    /// hier dann irgendwas mit deiner Zeile tun ... 
}
Der TextStream weiss viel besser was zeilenende iss und was ned :-)

Ciao ...
realdarkman71
Beiträge: 15
Registriert: 21. Oktober 2010 00:15

Beitrag von realdarkman71 »

Das ist eine gute Idee mit dem QTextStream, danke für den Tipp! Funktioniert prima!

Ist zwar etwas Off-Topic, aber Umlaute aus den Ausgaben per Stream sind von vorn herein Ok. Mit meiner früheren Methode, musste ich diese erst mit QString::fromUtf8(line) umwandeln, ansonsten wurden sie nicht richtig angezeigt! Seltsam!?
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

nicht nur QTextStream benutzen, auch API lesen ... dann wärst du darüber gestolpert: http://doc.qt.nokia.com/4.5/qtextstream.html#setCodec und bräuchtest du nicht öffentlich deiner :?: Ausdruck zu verleihen sondern hättest so ne :idea: überm Kopf schweben ;)
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
realdarkman71
Beiträge: 15
Registriert: 21. Oktober 2010 00:15

Beitrag von realdarkman71 »

Ja, habe ich inzwischen auch gelesen! :oops:

Vielen Dank an alle für Eure Hilfe!!! :D
Antworten