AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datei im Speicher zeilenweise lesen

Ein Thema von Luckie · begonnen am 12. Okt 2005 · letzter Beitrag vom 12. Okt 2005
Antwort Antwort
Olli
(Gast)

n/a Beiträge
 
#1

Re: Datei im Speicher zeilenweise lesen

  Alt 12. Okt 2005, 11:59
Zitat von Luckie:
Mach mir die Entscheidung leichter und sagt mir einfach, dass die WinAPI Lösung, gegenüber der Pascal Lösung, performanter ist, dann nehme ich deinen schönen Code.
Die dürften sich nicht viel nehmen. Aber da du die Datei mappen würdest und entsprechend als langen String im Speicher hast, kannst du auch mit einer Schleife durchgehen und die Zeilen extrahieren. Ich würde es übrigens wie folgt machen:

Ich gehe durch den Puffer und ersetze alle #13 durch #0, danach habe ich ein typisches "Array" von nullterminierten Strings und muß ähnliche Methoden anwenden wie bei REG_MULTI_SZ. Wenn der Puffer R/O ist, dann würde ich selbstverständlich nur nach #13 suchen ohne zu ersetzen und dann eben die entsprechenden Anfangsoffsets und Endoffsets merken und mit lstrcpyn() kopieren.

Was du keinesfalls machen solltest ist, einen String zu nehmen und die Zeichen jeweils zeichenweise an den String anzuhängen. Dadurch würde intern viel mehr ablaufen als das einfach Kopieren einer Zeile in einen String oder Puffer.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz