Estoy trabajando en un proyecto usando C++, Boost y Qt. Entiendo cómo comprimir archivos únicos y corrientes de prueba usando, por ejemplo, la función qCompress() en Qt.¿Cómo comprime un directorio de archivos usando C++?
¿Cómo puedo comprimir un directorio de varios archivos, incluidos los subdirectorios? Estoy buscando una solución multiplataforma (Mac, Win, Linux); Prefiero no disparar un montón de procesos nuevos.
¿Existe una forma estándar de combinar bytestreams de múltiples archivos en un archivo comprimido, o tal vez hay una función o método de conveniencia que estaría disponible en la biblioteca Boost iostream?
Muchas gracias por la ayuda.
Actualización: La biblioteca QuaZip se ve realmente genial. Hay un ejemplo en el paquete de descarga (en el directorio "tests") que muestra muy claramente cómo comprimir un directorio de archivos.
Actualización 2: Después de completar esta tarea en mi entorno de compilación de Linux, descubrí que QuaZip no funciona en absoluto con el compilador de Visual Studio. Es posible abordar todos los errores del compilador, pero una palabra de advertencia para cualquiera que mire este camino.
I segundo QuaZIP. –
Parece que QuaZip es el camino a seguir. ¡Gracias! – martian
ZipIOS ++ tiene archivos de proyecto MSVC 6. Sin embargo, toma prestado algún código de Boost.Filesystem (¡desde 2001!), Que no se compila realmente de fábrica, al menos en mi entorno VS2008. Así que supongo que también tendré que mirar QuaZIP, o simple zlib ... – Reunanen