>How do I view/extract the unsigned char data?
Here is one example using the union.
Code:
#include <stdio.h>
void foo(void)
{
union u
{
struct
{
float f1;
float f2;
} f;
unsigned char bytes[8];
} unie = {{1.23F,4.56F}};
size_t i;
for ( i = 0; i < sizeof(unie); ++i )
{
printf("%02X ", (unsigned)unie.bytes[i]);
}
putchar('\n');
}
Here is another way.
Code:
void dump(const void *buffer, size_t size)
{
const unsigned char *ch = buffer;
size_t i;
for ( i = 0; i < size; ++i )
{
printf("%02X ", (unsigned)*ch++);
}
putchar('\n');
}
int main(void)
{
float value[2] = {1.23F,4.56F};
size_t i;
foo();
for ( i = 0; i < sizeof(value)/sizeof(*value); ++i )
{
printf("value[%lu] = %f, ", (unsigned long)i, value[i]);
dump(&value[i], sizeof(value[i]));
}
return 0;
}
My output is as follows.
Code:
A4 70 9D 3F 85 EB 91 40
value[0] = 1.230000, A4 70 9D 3F
value[1] = 4.560000, 85 EB 91 40