09/05/27 20:31:40 .net
URLリンク(cm.xrea.cc) にあったのが
C++版だったので、Cで動くようにしてみた。コンパイラは gcc-4.3.2 で確認。
#include <stdio.h>
int main(int c,char *v[]){unsigned C,t[256];int i,j;FILE *F;
if(!(F=fopen(v[1],"r"))){fprintf(stderr,"Can't Open:%s\n",v[1]);return 1;}
for(i=0;i<256;t[i++]=C)for(C=i,j=9;--j;)C=C/2^(C&1?0xedb88320:0);
for(C=~0;(i=getc(F))>=0;C=t[C&255^i]^C>>8);
fclose(F);printf("%08lx %s\n",~C,v[1]);return 0;}