Something like this?
Code:
#include <stdio.h>
void swapbytes(void *object, size_t size)
{
unsigned char *start, *end;
for ( start = object, end = start + size - 1; start < end; ++start, --end )
{
unsigned char swap = *start;
*start = *end;
*end = swap;
}
}
void showbytes(const void *object, size_t size)
{
unsigned char *byte = object;
size_t i;
for ( i = 0; i < size; ++i )
{
printf("%02X", (unsigned)*byte++);
}
putchar('\n');
}
int main()
{
unsigned long value = 0x12345678UL;
showbytes(&value, sizeof value);
swapbytes(&value, sizeof value);
showbytes(&value, sizeof value);
return 0;
}
/* my output
78563412
12345678
*/