Sto lavorando a un progetto usando C++, Boost e Qt. Capisco come comprimere singoli file e bytest usando, ad esempio, la funzione qCompress() in Qt.Come faccio a comprimere una directory di file usando C++?
Come si comprime una directory di più file, comprese le sottodirectory? Sto cercando una soluzione multipiattaforma (Mac, Win, Linux); Preferirei non licenziare un sacco di nuovi processi.
C'è un modo standard per combinare i bytestreams da più file in un archivio zippato, o forse c'è una funzione o un metodo di convenienza che sarebbe disponibile nella libreria iostream di Boost?
Mille grazie per l'assistenza.
Aggiornamento: la libreria QuaZip sembra davvero eccezionale. C'è un esempio nel pacchetto di download (nella directory "tests") che mostra molto chiaramente come comprimere una directory di file.
Aggiornamento 2: Dopo aver completato questa attività sul mio ambiente di build Linux, ho scoperto che QuaZip non funziona affatto con il compilatore di Visual Studio. Potrebbe essere possibile affrontare tutti quegli errori del compilatore, ma una parola di cautela per chiunque guardi in questa direzione.
I secondo QuaZIP. –
QuaZip sembra la strada da percorrere. Grazie! – martian
ZipIOS ++ ha file di progetto MSVC 6. Tuttavia, prende in prestito un po 'di codice da Boost.Filesystem (a partire dal 2001!), Che non viene compilato correttamente, almeno nel mio ambiente VS2008. Quindi suppongo che dovrò anche guardare QuaZIP, o semplicemente zlib ... – Reunanen