#include int main(int argc, char **argv) { int c[16],p[16],i,j,count=0,flag=0; FILE *ifp; if(argv[1]) ifp=fopen(argv[1],"r"); else ifp=stdin; while(1){ printf("%5x:",count); for(i=0;i<16;i++){ c[i]=getc(ifp); if(c[i]==EOF){ flag=1; c[i]=0; } if(c[i]<32 || c[i] > 127) p[i]='.'; else p[i]=c[i]; printf("%2x ",c[i]); } for(i=0;i<16;i++) putchar(p[i]); putchar('\n'); count+=16; if(flag==1) break; } fclose(ifp); return 0; }