Quick actions

cmd+k|ctrl+k

Navigation

Languages

print bytes

Snippet info

Language

C

Visibility

public

Author

hyrious

Created

2019-11-17T15:36:22Z

Updated

2019-11-17T15:36:22Z

#define _CRT_SECURE_NO_WARNINGS

#include <ctype.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void printBytes(void *a, int len) {
    for (int i = 0; i < len; ++i)
        printf(i == 0 ? "%02x" : ", %02x", ((char *)a)[i]);
    putchar('\n');
}

int main(void) {
    int a[] = {1, 2, 3, 4, 5};
    printf("a     ..       = "); printBytes(a, sizeof(a));
    printf("a + 1 .. a + 5 =     "); printBytes((void *)((size_t)a + 1), 4);
    char b[] = {0, 0, 0, 2};
    printf("               = %#x\n", *(int *)b);
    return 0;
}
INFO