101 :
38:
7行で圧縮&展開だ〜!
…というネタを振ろうと思って試しに作ってみたら出来ちゃった。
#include <stdio.h>
main(int C,char**V){FILE*r,*w;int c,p=-1,l=1;if(C==4){r=fopen(V[2],"rb");if(r)
{w=fopen(V[3],"wb");if(*V[1]-'x'){while((c=getc(r))-EOF){if(p-c||l==255){if(l-
1)putc(p,w),putc(l,w);putc(c,w),l=0;}l++,p=c;}if(l-1)putc(p,w),putc(l,w);}else
{while((c=getc(r))-EOF){if(c==p){l=getc(r);while(l--)putc(p,w);if(EOF==(c=getc
(r)))break;}else if(p+1)putc(p,w);p=c;}}fclose(r);fclose(w);}}else puts(
"usage: [a|x] [file_in] [file_out] (a:compress, x:expand)");return 0;}
# ただしただのRLEなので単色ビットマップとか以外はむしろサイズ増えるかも(^^;