/* http://www.mrwadlo.com */ #include #include void createfilename(); void displaysym( char c ); void stndrdth( long i ); int mark; char inputfile[15]; int main() { long i; long filesize; char sym; int percent; FILE *fpREAD; clrscr(); do { printf("\n Enter Filename Using 8.3 limit: "); scanf("%12s", &inputfile); if ( fopen(inputfile,"rb") ) break; else printf(" %s <-- No Such File, Try Again!", inputfile); } while ( 1 ); sym = 0; printf("%c",13); for ( i=0 ; i<38 ; i++ ) printf("- "); printf("\n"); fpREAD = fopen(inputfile,"rb"); fseek(fpREAD, 0, SEEK_END); filesize = ftell(fpREAD); rewind(fpREAD); percent = 0; for ( i=0 ; i < filesize ; i++ ) { fread(&sym, 1, 1, fpREAD); printf("%7ld", i ); stndrdth( i ); printf(" Byte"); displaysym(sym); printf("ASCII: %d", sym); if ( 100*i/filesize > percent ) { percent++; } printf("\t%d%%\n", percent); //printf("\n"); if ( getch() == 27 ) break; } for ( i=0 ; i<38 ; i++ ) printf("- "); printf("\n Byte View Complete."); fclose(fpREAD); getch(); return 0; } void displaysym( char sym ) { printf(" "); if ( sym == 0 ) printf("[NULL]"); else if ( sym == 7 ) printf("[BEEP]"); else if ( sym == 8 ) printf("[BKSP]"); else if ( sym == 9 ) printf("[TAB] "); else if ( sym == 10 ) printf("[NXLN]"); else if ( sym == 13 ) printf("[BKLN]"); else if ( sym == 26 ) printf("[EOF] "); else if ( sym == 27 ) printf("[ESC] "); else if ( sym == 32 ) printf("[SPAC]"); else printf("%c ",sym); printf(" "); } void stndrdth( long i ) { i = i % 100; if ( i < 11 || i > 13 ) { i = i % 10; if ( i == 1 ) printf("st"); else if ( i == 2 ) printf("nd"); else if ( i == 3 ) printf("rd"); else printf("th"); } else printf("th"); }