dégonfler et à gonfler (zlib.h) dans le C

Je suis en train de mettre en œuvre la zlib.h dégonfler et à gonfler les fonctions de compresser et de décompresser un char array (pas un fichier).

Je voudrais savoir si la syntaxe suivante est-elle correcte ? Ai-je raté quelque chose ou quelque chose de défini de manière incorrecte ?

char a[50] = "Hello World!";
char b[50];
char c[50];

//deflate
//zlib struct
z_stream defstream;
defstream.zalloc = Z_NULL;
defstream.zfree = Z_NULL;
defstream.opaque = Z_NULL;
defstream.avail_in = (uInt)sizeof(a); //size of input
defstream.next_in = (Bytef *)a; //input char array
defstream.avail_out = (uInt)sizeof(b); //size of output
defstream.next_out = (Bytef *)b; //output char array

deflateInit(&defstream, Z_DEFAULT_COMPRESSION);
deflate(&defstream, Z_FINISH);
deflateEnd(&defstream);

printf("Deflate:\n%lu\n%s\n", strlen(b), b);

//inflate
//zlib struct
z_stream infstream;
infstream.zalloc = Z_NULL;
infstream.zfree = Z_NULL;
infstream.opaque = Z_NULL;
infstream.avail_in = (uInt)sizeof(b); //size of input
infstream.next_in = (Bytef *)b; //input char array
infstream.avail_out = (uInt)sizeof(c); //size of output
infstream.next_out = (Bytef *)c; //output char array

inflateInit(&infstream);
inflate(&infstream, Z_NO_FLUSH);
inflateEnd(&infstream);

printf("Inflate:\n%lu\n%s\n", strlen(c), c);
Demandez-vous car il n'a pas de travail? Êtes-vous d'obtenir une sorte de message d'erreur?
Il compile sans mise en garde, mais je veux savoir si les fonctions et les définitions que j'ai choisi de rendre le sens ou si je dois utiliser les autres.
L'a obtenu. Merci pour clarifier votre question.

OriginalL'auteur Jane Watson | 2011-09-24