私は現在 C を学んでおり、zlib を利用する小さなプログラムを作成しようとするといくつかの問題が発生します。
zlib ライブラリを使用して (Codeblocks/MinGW を使用して) アプリケーションをコンパイルすることができ、コンパイルは正常に動作します。公式の zlib サイト (zlib.net)にあるzpipe.cの例に基づいた例を使用しました。
実行時に、出力 zip ファイルが作成されますが、形式が正しくないか空であると思われます。7zipを使用して開くことができません。
これが私が修正したコードです。zpipe.c 内の main() 関数を単純に置き換えました。
int main() {
printf("Compression test...");
int ret;
FILE *fpsource;
FILE *fpdest;
fpsource = fopen("test.txt", "rb");
fpdest = fopen("output.zip", "wb");
ret = def(fpsource, fpdest, Z_DEFAULT_COMPRESSION);
if (ret != Z_OK) {
printf("failure\n");
zerr(ret);
}
else {
printf("success..\n");
}
fclose(fpsource);
fclose(fpdest);
return EXIT_SUCCESS;
}
エラーは発生せず、「成功」メッセージが出力されます。出力ファイルが壊れているだけです。