Einzelne Linien aus einer Datei kopieren und in eine neue schreiben.



  • Hallo zusammen! Ich möchte eine kleines Programm in c++ schreiben welches mir ermöglicht aus einer riesigen (mehrere GB) *.dat file einen abschnitt heraus zu filtern und ihn in eine andere Datei zu schreiben. Input wäre zum Beispiel "Linie L1 bis Linie L2". Wichtig bei der Sache ist dass das ziemlich flott gehen sollte...
    Vielleicht hat einer von euch so etwas schon einmal gemacht oder hat ne Idee die mir weiterhelfen könnte...
    Viele Grüße,
    L.M.



  • wie wäre es mir fstream ?



  • Wenn dein gesuchter Abschnitt mit einem bestimmten Zeichen anfängt bzw davor kommt und nur dort dieses Zeichen in der Datei bis zu dem zu extrahierenden Abschnitt kommt, kannst du zum Beispiel "istream& get ( streambuf& sb, char delim );" benutzen und dann den gesuchten Abschnitt mit einer read-oder get-Funktion lesen. Falls du ungefähr weißt wo dieser Abschnitt in der Datei steht, kannst du die Position des get Pointers mit "istream& seekg ( streampos pos );" entsprechend setzen, dadurch bräuchte man nicht mehr die Datei von Vorne bis Hinten durchkämmen.


Anmelden zum Antworten