Unicode-kodierte Datei unbekannter Größe als String verarbeiten - geht das?



  • Hallo,

    ich möchte für eine bestimmte Anwendung (nur für Windows, allerdings nicht zwingend mit WinAPI, deswegen frage ich erst mal im allgemeinen Forum) in der Lage sein, eine mir unbekannte Datei, die theoretisch mehrere GB groß sein könnte, programmatisch zu verarbeiten. Ich kann dafür allerdings keinen wchar-Puffer reservieren, da ich dafür die Dateigröße kennen müsste. Geht das auch anders?

    Grüße und danke!



  • Klar geht das. Stück für Stück einlesen und dabei verarbeiten. Ob das Sinn macht hängt natürlich stark davon ab, was Du machen willst.



  • Prinzipiell soll der Ort der Verarbeitung vom Benutzer kommen. Wenn er sagt "änder mal das letzte Wort", ist das natürlich doof.

    Wie groß können diese Stücke denn sein?


  • Mod

    So groß wie du möchtest.



  • Hm, mein Problem ist dann aber, dass so was wie das Suchen eines Wortes auf diese Art nicht funktioniert, oder?

    Ein Beispiel:

    Dies ist eine Testdatei.
    

    Nehmen wir an, meine Stücke sind 6 Byte lang (Unicode wäre noch ein ganz eigenes Problem, das ist aber gerade zweitrangig) und ich würde nach "ist" suchen.

    Dies i
    
    st ein
    
    ...
    

    (Oder stehe ich gerade noch schlimmer auf dem Schlauch als sowieso?)



  • Ja, klar, stupide nur die Chunks durchsuchen funktioniert nicht. Du könntest Dir aber beim ersten Chunk merken, dass dieser mit 'i' endet (einem Prefix von 'ist'), und dies beim 2. Chunk berücksichtigen.



  • Das macht natürlich jetzt einiges schwieriger...

    Danke!


Anmelden zum Antworten