[c++] Komprimieren von Files

uhu01

Erfahrenes Mitglied
Hy!

Kennt jemand von euch eine Methode um Files zu komprimieren?
Diese Möglichkeit sollte:
  • mehrere Files in ein Archiv komprimieren können
  • eine Klasse sein
  • ein Format erzeugen das mit WinRAR geöffnet werden kann
  • ohne MFC auskommen

Ich weiß, ist ein bisschen viel auf einmal, aber vielleicht kennt ja jemand von euch so eine Bibliothek.
Wenn Möglich sollte ich ein File nach dem anderen zu dem Archiv hinzufügen sollen, da ich alle Ordner unter dem Herkunftsordner rekursiv durchgehe, und die Filename mit zwei Filtern vergleiche.
Wenn das alles zusammen nicht möglich ist, bitte trotzdem schreiben wenn ihr mit einer Library gute Erfahrungen gemacht habt.

mfg
uhu01
 
Zuletzt bearbeitet:
Da gibt's die zlib (http://zlib.org), die erfüllt zumindest das ohne MFC auskommen. Bei der zlib ist unter others ein zip-file-wrapper.
Die zlib selbst ist ein ekliger Sauhaufen (C eben), aber der zip-file-wrapper ist meine ich eine Klasse. Da kann man dann schöne zip-files erstellen und WinRar kriegt die ja problemlos auf.
 
Hy!

Danke, die zlib hatte ich mir schon angeschaut, aber der zip wrapper ist mir nicht aufgefallen. Werd's mir mal anschaun

thx,
uhu01
 
Hy!

Ich hab mir gerade nochmal die zlib heruntergeladen (v1.2.2), es ist jedoch kein Ordner others vorhanden. Hat vielleicht jemand ein Tutorial wie die zlib nativ funktioniert ( komprimieren von Files) oder muss ich mich wirklich durch die example.c kämpfen?
Bei google findet man zwar einiges, aber nach 200 Tutorials die das erweitern von irgend einer Linux Komponente um zlib behandeln hab ich aufgegeben.

mfg
uhu01
 
danke, werd ich mir mal anschaun.

Wüsstest du vielleicht trotzdem ein Tutorial zur zlib, würde mich interessieren wie sie funktioniert.

thx,
uhu01
 
Sorry, da muss ich passen. Ich bin froh, dass ich mit ein bisschen umhacken des minizip-Dingens mein eigenes Zip-Programm schreiben konnte.
 
Übrigens für alle die es interessiert.
Es gibt für LZMA (7zip) ein SDK das der LGPL unterliegt.
Die Kompressionsraten von LZMA sind beispiellos (besser als, zip, rar, und sogar bzip2).
Was auch besser ist, ist die Geschwindigkeit beim Dekomprimieren.
Nachteil:
Das Komprimieren ist etwas langsamer also bei anderen Algorithmen.
Aber zum Verteilen von gepakten Paketen (z.B. für virtuelles Dateisystem wie es Spiele verwenden) ist es ideal.
So und hier noch der Link: http://www.7-zip.org/

Daniel
 
Zurück