Eine Datei in mehrere packen



  • Hallo !

    Ich hoffe ich bin hier richtig.

    Ich weiß wie ich Dateien mit dem Huffman-Algo. packe aber weiß jemand wie ich die gepackten Dateien in nur eine bekomme ? (sihe Winzip,Windows XP..)



  • Gemacht habe ich sowas auch noch nicht, aber ich denke mal, du musst dir eine Struktur für ein quasi Dateisystem überlegen, so dass du eben nachher weißt, wie die einzelne Datei hieß, und von wo bis wo sie geht 🙄



  • Oder Du benutzt schon fertiges wie tar



  • Wie flenders schon sagte.
    Am Besten, Du baust Dir sowas in der Art auf:

    struct S_Header
    {
      char Dateiname[8];
    ...
      unsigned long FileEntries;
    };
    

    Anschließend brauchst Du eine File Table:

    struct S_FileTab
    {
      char Dateiname[8]
         , Endung[3];
      unsigned long Dateianfang
                  , Dateilaenge
    }
    

    Wenn Du eine Datei neu hinzufügst, musst Du allerdings ne Menge Daten durch die Gegend schieben, da Du den header neu schreiben und dann die Dateien anhängen musst.

    cYa
    DjR

    Edit: Flipcode hatte meines Wissens mal n tutorial zu einem virtuellen Filesystem



  • Oder du speicherst so eine Struktur immer vor jeder Datei. Mit Hilfe der Dateilänge kannst du dann ja auch relativ einfach zur nächsten Datei springen. So kannst du Daten relativ einfach anhängen, allerdings muss man zum Auslesen recht viel hin und her springen. Da kommt es jetzt halt drauf an, was man nachher damit vorhat 🙄



  • Hallo !

    Was ist das "tar" und wo bekomme ich das her ?
    Und kann mal bitte jemand einen konkreten code posten wie man das mit der Struktur macht weil ich mich da nicht so auskenne.



  • tar ist ein Archivsystem im UNIX/Linux, das früher mal dazu gedacht war, Dateisysteme auf dien Magnetband zu sichern. Verzeichnisse werden auch unterstützt.
    Ich denke, dass Du den Quellcode im Internet bekommst.. einfach mal suchen

    cYa
    DjR


Anmelden zum Antworten