[C] RAR File - Einfügen / Löschen / Entpacken

posi90

Erfahrenes Mitglied
Hallo,

Ich programmiere mit MVC++ und habe mir die Frage gestellt ob es möglich ist mein Programm so zu erweitern, dass es auch die Funktionen von Winrar beherrscht.

Nach etwas googlen stieß ich auf folgende Seite:

Unrar-Source
Auch ein Manual zur dll hab ich gefunden (Manual Rar-dll).

Mit der dll konnte ich schon so einiges anfangen wie z.B. Entpacken, Passwort setzen, Files auflisten. Das wars aber leider auch schon, wahrscheinlich hieß die dll deswegen auch nur unrar.dll.

Nun fand ich auf der Seite noch einen "Portable UnRAR source code". Kann aber nicht viel damit anfangen, kein Manuel dabei und auch niergendwoanders eins gefunden.

Kann man in C eine einzelne Datei einer .rar-Datei löschen?
Funktioniert das Entpacken mit dem Protable unrar source code ohne der .dll?
Wenn nicht, gibt es alternativen dazu (wichtig ist entpacken, löschen einer einzelnen Datei und gute Komprimierung)?

mfg. Poseidon
 
C kann von Haus aus keine Archive packen.
Dafür gibt es spezielle DLL's.

Deshalb musst du gucken, ob diese DLL's solche Funktionen bereitstellen.

Funktioniert das Entpacken mit dem Protable unrar source code ohne der .dll?
Es würde nicht funktionieren, außer du packst diese in die EXE, aber ich glaube dazu brauchst du dann noch eine LIB-Datei.
 
Wenn dein gefundener "portabler unrar Source code" vollständig, d.h. compilierbar ist, sollte zumindest das Entpacken (natürlich ohne DLL) in deinem Programm funktionieren. Ob das von dir gewünschte Löschen funktioniert, hängt davon ab, ob der o.g. Sourcecode eine entsprechende Funktion anbietet.
Sei froh, dass sich überhaupt jemand die Mühe gemacht hat, portablen Code zu schreiben und ihn auch noch veröffentlicht hat, lies den Code eben intensiver durch; auch solltest du entsprechende evtl. vorhandene Copyrights im Sourcecode beachten.
 
Ist das Copyright wichtig, wenn es nur für private Zwecke eingesetzt wird?

Naja, danke trotzdem an alle Beteiligten, ich habe nun eine einfachere Lösung gefunden:

7-Zip bietet sogar eine eigene LZMA SDK an. Wobei ich sogar gelesen habe, dass die Kompressionsrate und die Entpackungsgeschwindigkeit besser sei als bei rar ist. Das Löschen innerhalb einer 7-Zip Datei ist ebenfalls nicht so umständlich als bei rar.

mfg. Poseidon
 
Ja natürlich ist das Copyright wichtig.
Darin wird beschrieben, was du alles machen darfst (z.B. privat nutzen) und unter welchen Bedingungen!
 
Erst fragst du explizit nach WinRar und dann sagst du, dass du doch auch was anderes nehmen kannst (7Zip).
Etwas mehr Systematik bei der Umsetzung der Aufgabenstellung und der Fragestellung hier im Forum deinerseits wäre wünschenswert.
 
Einfügen und Löschen ist in der unrar.dll nicht vorgesehen, da Winrar ja nur ein Shareware Programm ist. Daher nur schwierig oder gar nicht umsetzbar und mit Vorsicht zu genießen wegen dem Copyright und so. Darum habe ich dann die 7-Zip methode genommen, wodurch dann die schlechte Systematik entstand.
 
Zurück