Nel mio programma linux, voglio decomprimere un contenuto del file tar.gz in una directory specifica. Esiste una chiamata di sistema o una classe C++ disponibile in C/C++ per estrarre il contenuto del file dal file tar.gz?Come decomprimere il file tar.gz utilizzando il programma C++
risposta
Se si include <cstdlib>
si può chiamare:
system("your tar or gz command");
Sono a conoscenza di questa chiamata di sistema(). Ho usato il mio programma consecutivamente 3 volte per diversi file tar.gz, ma il programma si è bloccato dopo l'esecuzione del 3 con indicazione dello stack. Poiché la chiamata a system() esegue il comando come processo secondario o altro processo. In caso di chiamata consecutiva, lo stack si arresta in modo anomalo. – user3793746
hai ricevuto un rapporto di arresto anomalo? – PinkFloyd
È possibile utilizzare diverse librerie come libtar.
Oppure si può utilizzare una chiamata di sistema, come già accennato:
system("tar -zxf /your/file.tar.gz")
http://www.cplusplus.com/reference/cstdlib/system/
si può fare in questo modo:
system("tar -zxvf yourfile");
Si può vedere anche questo:
C'è un'eccellente biblioteca libarchive, che supporta l'accesso a più formati di archivio utilizzando l'API coerente. Puoi seguire these examples su come usarlo.
Se si utilizza Ubuntu, è possibile installare facilmente questa libreria utilizzando il comando sudo apt-get install libarchive-dev
. Su altre piattaforme, potrebbe essere necessario scaricare il codice sorgente e compilare questa libreria da soli.
Uno dei vantaggi dell'utilizzo di libarchive rispetto all'utilizzo delle chiamate system()
non dipende dalle utilità di sistema, e dovrebbe anche funzionare più velocemente perché non si biforca.
- 1. Problemi decomprimere un file tar.gz
- 2. decomprimere un file tar.gz in R?
- 3. decomprimere un file utilizzando C#
- 4. Voglio creare uno script per decomprimere (.tar.gz) file via (Python)
- 5. Usa il file tar.gz come una cartella?
- 6. come possiamo decomprimere un file nell'obiettivo c?
- 7. Come decomprimere il file da InputStream
- 8. Leggi il file .tar.gz in Python
- 9. Come decomprimere un file .gz usando C#
- 10. Come creare il file di archivio tar.gz in windows?
- 11. Scaricare e decomprimere il file gzippato in memoria?
- 12. scaricare e decomprimere il file in iOS
- 13. decomprimere il file .gz nel lotto
- 14. Come uccidere un programma utilizzando il multiprocessing
- 15. Decomprimere il file ZIP su Amazon S3
- 16. Come decomprimere il contenuto di un file JavaScript?
- 17. Come creare un file tar.gz in R?
- 18. Impossibile creare il programma C++ utilizzando Sublime Text 2
- 19. Decomprimere un file zip utilizzando zlib
- 20. C#: coda come programma per il file di testo
- 21. Annulla decompressione file tar.gz
- 22. Come leggere file tar.gz molto grandi (> 1GB) in Node.js?
- 23. Come decomprimere il file tar.Z attraverso i ricettari CHEF
- 24. Come trasformare il programma C in classi
- 25. Come decomprimere/decomprimere in Emacs
- 26. Comprimere e decomprimere il file 7z in java
- 27. Apertura di un file Excel utilizzando il programma predefinito
- 28. Impossibile salvare il file Excel utilizzando C#
- 29. Impossibile compilare il programma C++
- 30. break termina il programma - C++
[tar] (http://stackoverflow.com/questions/4812837/c-library-to-make-tar-files) e [gz] (http://stackoverflow.com/questions/624250/how- do-i-read-write-gzipped-files) – Unda
possibile duplicato di [Come leggere un file .gz riga per riga in C++?] (http://stackoverflow.com/questions/3201538/how-to- read-a-gz-file-line-by-line-in-c) – bobah
@bobah: questo non è un duplicato. la domanda collegata parla di un singolo file .gz, mentre questo riguarda l'archivio .tar.gz con molti file in esso – mvp