Zwei Fragen bezüglich Auslesen einer größeren Datei
Verfasst: 30. Juli 2006 12:30
Hallo!
Ich habe damit begonnen mich in C++ und Qt einzuarbeiten und kleinere Sachen klappen auch schon.
Ich habe jetzt versucht eine größere Textdatei einzulesen, was aber bei zeilenweisem Einlesen zu lange dauert. Weswegen wohl nur ein QTextStream in Frage kommt, indem man es in größere Blöcke aufteilt wird, dachte da an 32kb.
Dafür scheint QString QTextStream::read ( qint64 maxlen ) wohl ideal, oder?
Meine erste Frage ist nun, wie ich die Datei am schnellsten einlesen kann und auch wieder in ihre Einzelteile verpacke.
Es handelt sich dabei um eine Textdatei mit zeilenweisen Einträgen, eine Art Wörterbuch, und ist mit über 150.000 Einträgen (~2 MB) auch größer.
Die letzte Frage wäre dann auch, welchen Container ich für diese Einträge verwenden sollte. Die Datei wird nur einmalig beim Start eingelesen, aber der Inhalt des Containers soll erweitert, bzw. teilweise auch gelöscht werden, zudem finden häufige Vergleiche mit Einträgen statt.
Welcher Container ist dafür am besten geeignet?
Wäre über Hinweise dankbar.
Gruß,
Locutus
Ich habe damit begonnen mich in C++ und Qt einzuarbeiten und kleinere Sachen klappen auch schon.
Ich habe jetzt versucht eine größere Textdatei einzulesen, was aber bei zeilenweisem Einlesen zu lange dauert. Weswegen wohl nur ein QTextStream in Frage kommt, indem man es in größere Blöcke aufteilt wird, dachte da an 32kb.
Dafür scheint QString QTextStream::read ( qint64 maxlen ) wohl ideal, oder?
Meine erste Frage ist nun, wie ich die Datei am schnellsten einlesen kann und auch wieder in ihre Einzelteile verpacke.
Es handelt sich dabei um eine Textdatei mit zeilenweisen Einträgen, eine Art Wörterbuch, und ist mit über 150.000 Einträgen (~2 MB) auch größer.
Die letzte Frage wäre dann auch, welchen Container ich für diese Einträge verwenden sollte. Die Datei wird nur einmalig beim Start eingelesen, aber der Inhalt des Containers soll erweitert, bzw. teilweise auch gelöscht werden, zudem finden häufige Vergleiche mit Einträgen statt.
Welcher Container ist dafür am besten geeignet?
Wäre über Hinweise dankbar.
Gruß,
Locutus