How to print binary file as hexadecimal characters in C

1 Answer

0 votes
#include <stdio.h> 
 
int main(void)
{
    FILE* fp = fopen("d:\\data.bin", "rb");
    
    if (fp) 
    { 
        char ch, i = 1;
        
        while ((ch = fgetc(fp)) != EOF) 
        {
                (i++ == 10) ? printf(" %02X\n", ch) : printf(" %02X", ch);
                if (i > 10) i = 1; // i is just for print 10 results on a line
        }
            
        fclose(fp);
    }
 
    
    return 0;
}


/*
run:
   
 18 00 00 00 2D 00 00 00 5E 00
 00 00 29 00 00 00 46 00 00 00
 49 00 00 00 1A 00 00 00 3C 00
 00 00 24 00 00 00 3A 00 00 00

*/


answered Mar 1, 2015 by avibootz

Related questions

1 answer 208 views
1 answer 244 views
244 views asked Sep 18, 2021 by avibootz
1 answer 296 views
296 views asked Sep 18, 2021 by avibootz
1 answer 230 views
230 views asked Sep 18, 2021 by avibootz
1 answer 236 views
236 views asked Sep 17, 2021 by avibootz
1 answer 229 views
229 views asked Aug 24, 2021 by avibootz
1 answer 338 views
...