Solution for Exercise 22-10

ex2210

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char filename[255];
    FILE *dumpme;
    int x,c;

    printf("File to dump: ");
    scanf("%s",filename);
    dumpme=fopen(filename,"r");
    if(!dumpme)
    {
        printf("Unable to open '%s'\n",filename);
        exit(1);
    }
    x=0;
    while( !feof(dumpme) )
    {
        c=fgetc(dumpme);
        if( c==EOF )
            break;
        printf("%02X ",c);
        x++;
        if(!(x%16))
            putchar('\n');
    }
    putchar('\n');
    fclose(dumpme);
    return(0);
}

Output

File to dump: hello.txt
4C 6F 6F 6B 20 77 68 61 74 20 49 20 6D 61 64 65
21 0A 4D 79 20 43 20 70 72 6F 67 72 61 6D 20 77
72 6F 74 65 20 74 68 69 73 20 66 69 6C 65 2E 0A
54 68 69 73 20 74 65 78 74 20 77 61 73 20 61 64
64 65 64 20 6C 61 74 65 72 0A 54 68 69 73 20 74
65 78 74 20 77 61 73 20 61 64 64 65 64 20 6C 61
74 65 72 0A