Bonjour

J'utilise le code suivant pour ouvrir un fichier zip auquel je vais rajouter dedans un fichier de mon cru afin de finaliser un document odt.
Le code suivant génère le chemin de l'origine (affichage) et celui de l'arrivée (aff).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
sprintf(affichage,"%s%cLibO%cfeuille.zip",tmp1,SEPARATEUR,SEPARATEUR);
sprintf(aff,"%s%c%s.odt",((char **)param)[CHEMIN],SEPARATEUR,((char **)param)[NOM]);
copie_fichier(aff,affichage);
f_zip=zip_open(aff,ZIP_CREATE,NULL);
Le problème, c'est que je dois déplacer le fichier avant de le transformer (en gros, un fichier temporaire, même s'il a déjà le nom final). J'aurais aimé :
1) Ouvrir le fichier d'origine (affichage)
2) Dire que le résultat final, il faudra le sauver sous aff

Comme ça, je supprime la première copie dans le fichier qu'on peut considérer temporaire.

Pour info la suite et la fin du travail sur l'archive :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
n_zip=zip_source_filep(f_zip,fichier,0,0); /* récupération du fichier sous forme FILE * sans avoir à le copier sur le disque */
zip_replace(f_zip,zip_name_locate(f_zip,"content.xml",ZIP_FL_NOCASE) ,n_zip); /* on l'injecte dans l'archive en lui donnant un nom */
zip_close(f_zip);   /* on ferme l'archive */
nb : fichier a été ouvert par un tmpfile().