Datei aus Archiv verschieben



  • Hallo,
    folgendes: Ich habe eine binäre Archivdatei. In diesem Archiv befindet sich eine TGA-Datei. Diese TGA-Datei würde ich gerne einlesen und so wie sie ist, in einer seperaten, binären Datei, abspeichern. Ich dachte es würde reichen, byte-für-byte in ein char-Array einzulesen, und dieses char-Array wieder in der seperaten Datei auszugeben.

    Wo ist nun mein Denkfehler? Ich stehe etwas auf dem Schlauch. Wie würdet ihr das machen?

    Danke im voraus!



  • Du musst das interne Format deiner 'Archivdatei' kennen, d.h. werden enthaltene Einzeldateien kontinuierlich gespeichert, evtl. verschlüsselt/komprimiert, und du musst die (Byte)Position deiner Datei in der 'Archivdatei' kennen und ggf. dynamisch bestimmen können (falls du mal andere 'Archivdateien' auswerten willst).



  • Hey Wutz,
    danke für deine Antwort!

    Ich kenne die Archivdatei, es liegt keine Verschlüsselung/Komrpimierung vor und ich keine die Byte-Position. Es geht auch weniger darum wie ich die Datei finde oder ob ich sie kenne, es geht rein darum, die gesamte Datei zu nehmen, und byte-für-byte in eine eigene TGA-Datei zu verschieben/extrahieren.

    Natürlich könnte ich erst wieder einen TGA-Loader schreiben, der die Archivinnere Datei erst wieder parset, aber da alle nötigen Informationen (Header + Data) bereits in dem File gegeben sind, würde ich diesen Archiveintrag einfach gerne "kopieren", verstehst du?

    Danke im voraus!


  • Mod

    Wenn du das Archivformat kennst und dir sicher bist, dass du die Datei richtig aus dem Archiv gelesen hast, dann sollte ein einfaches Abspeichern der Datei, so wie in deinem ersten Beitrag beschrieben, die richtige Vorgehensweise sein. Die zwischenzeitige Verarbeitung der Datei mit einen TGA-Bearbeiter o.Ä. wäre absolut überflüssig und eher hinderlich.

    Daraus folgt: Entweder hast du etwas falsch gemacht und/oder du kennst das Archivformat wohl doch nicht richtig.

    Ich tippe mal ins Blaue: Fehler bei Verarbeitung von Daten die Nullen enthalten, durch Benutzung von Funktionen für nullterminierte Zeichenketten.



  • Evtl. noch öffnen der Datei im "rb" -Modus vergessen.


Anmelden zum Antworten