Bonjour,
J'ai besoin d'extraire des fichiers d'une archive, pour cela j'utilise libarchive, mais pas moyen de trouver comment extraire un fichier donné...
Merci pour votre aide!
Version imprimable
Bonjour,
J'ai besoin d'extraire des fichiers d'une archive, pour cela j'utilise libarchive, mais pas moyen de trouver comment extraire un fichier donné...
Merci pour votre aide!
J'ai trouvé comment faire, je poste pour ceux que ça intéresse; dans la boucle qui liste les fichiers, il suffit de faire:
Merci archivemount! :mouarf:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 std::string filetoextract = "myfiletoextract"; while (archive_read_next_header(a, &entry) == ARCHIVE_OK) { std::cout << " file " << archive_entry_pathname(entry) << std::endl; if(filetoextract == archive_entry_pathname(entry)){ char *buff = new char[archive_entry_size(entry)]; archive_read_data(a, buff, archive_entry_size(entry)); FILE *tmp = fopen("tmp", "w"); fwrite(buff, archive_entry_size(entry), 1, tmp); fclose(tmp); delete[] buff; } }