C/C++ print/dump hex function (last update: 2013-05-12, created: 2013-05-12) back to the list ↑
Another function I tend to write waaay too often.

Minimal version:

void
print_hex(void *data, size_t size) {
  size_t i;
  for(i = 0; i < size; i++) {

    if((i % 16) == 0)
      printf("%.8x:", i);

    printf(" %.2x", ((uint8_t*)data)[i]);

    if(i + 1 == size || ((i + 1) % 16) == 0)
      putchar('\n');
  }
}


Output:

00000000: 61 6c 61 20 6d 61 20 6b 6f 74 61 20 6b 6f 74 20
00000010: 6d 61 20 61 6c 65 00
【 design & art by Xa / Gynvael Coldwind 】 【 logo font (birdman regular) by utopiafonts / Dale Harris 】