compress / uncompress

compress

compsize = ~; // 圧縮後のサイズより大きな値
compbuff = malloc(compsize);
int result = compress(compbuff, &compsize, origbuff, origsize);
if (result != Z_OK) {
    if (result == Z_MEM_ERROR) {
        fprintf(stderr, "compress: Z_MEM_ERROR: can't malloc\n");
    } else if (result == Z_BUF_ERROR) {
        fprintf(stderr, "compress: Z_BUF_ERROR: not enough buff size\n");
    }
    return 1; // FAILURE
}

uncompress

origsize = ~;  // 伸張後のサイズより大きな値
origbuff = malloc(origsize);
int result = uncompress(origbuff, &origsize, compbuff, compsize);
if (result != Z_OK) {
    if (result == Z_MEM_ERROR) {
        fprintf(stderr, "uncompress: Z_MEM_ERROR: can't malloc\n");
    } else if (result == Z_BUF_ERROR) {
        fprintf(stderr, "uncompress: Z_BUF_ERROR: not enough buff size\n");
    }
    return 1; // FAILURE
}

inflate / defrate

(予定)

参考

関連


Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes