zlib, gzcat
http://lists.freebsd.org/pipermail/freebsd-questions/ からダウンロードした 2009-May.txt.gz
を、zlib
を使った自作プログラムで伸長してみた。
#include <err.h> #include <stdio.h> #include <zlib.h> int main(int argc, char **argv) { char buf[256]; gzFile fp; if (argc < 2) return 1; fp = gzopen(argv[1], "rb"); if (!fp) err(1, "gzopen"); while (!gzeof(fp)) { gzgets(fp, buf, sizeof buf); printf("%s", buf); } gzclose(fp); return 0; }
このプログラムを -lz
を付けてコンパイルして、2009-May.txt.gz
を読ませると、その md5
値は、
% ./program 2009-May.txt.gz | md5 925fdeca227d43369f075714e3211ed2
しかし、gzcat
を使うと、
% gzcat 2009-May.txt.gz | md5 0ccec811ef9aed34dcc3a54a2cbb9e7d
なんでだろ。