Bonjour,
je travaille sous environnement Windows/c++.

J 'utilise Gunzip.exe pour décompresser mes fichiers ".Z"

Je ne veux plus faire appel à cet exécutable au niveau de mon code mais plutôt réaliser une fonction qui fait le même travaille que Gunzip.exe -d monfichier.Z.

J'ai essayé d'utiliser ZLIB en développant une fonction pour remplacer l'appel à l'exécutable "Gunzip.exe".
Voici son code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
gzFile infile = gzopen( inputPth , "rb");
FILE *outfile = fopen( outputPth, "wb");
if (!infile || !outfile)
return -1;
char buffer[128];
int num_read = 0;
 
while ((num_read = gzread(infile, buffer, sizeof(buffer))) > 0)
{
fwrite(buffer, 1, num_read, outfile);
}
 
gzclose(infile);
fclose(outfile);
Malheureusement, le fichier décompressé grâce à cette fonction n'est pas conforme à celui obtenu avec l'exécutable (La taille ainsi que le contenu ne sont pas les même)

Merci pour votre aide