#include #include #include #include static void Dump(char *fn,FILE *fp) { char s[17]; int p; int f; int b; printf("File:%s\n",fn); b=!EOF; p=0; while(b!=EOF) { strcpy(s," "); for(f=0;f<16;f++) { if((b!=EOF)&&((b=getc(fp))!=EOF)) { if (f == 0) { printf("%6.6x: ",p); p+=16; } printf("%2.2x ",(unsigned char)b); if (isprint(b)) { s[f]=b; } else { s[f]='.'; } } else { if (f == 0) { return; } printf("** "); } } printf(" %s\n",s); } } int main(int argc,char *argv[]) { FILE *fp; int f; int ret = EXIT_SUCCESS; if (argc==1) { Dump("stdin",stdin); } else { for(f=1;f