This is a C++ example on how to use gdcm::ByteSwap
#include <string.h>
int myfunc()
{
char vl_str[4];
const char raw[] = "\000\000\000\004";
memcpy(vl_str, raw, 4);
uint32_t vl;
memcpy(&vl, vl_str, 4);
if( vl != 0x00000004 )
{
std::cerr << std::hex << "vl: " << vl << std::endl;
return 1;
}
if( vl != 0x00000004 )
{
std::cerr << std::hex << "vl: " << vl << std::endl;
return 1;
}
std::cout << std::hex << "vl: " << vl << std::endl;
if( vl != 0x4000000 )
{
return 1;
}
return 0;
}
int TestByteSwap(int , char *[])
{
{
}
{
}
{
return 1;
}
std::cout << "sc: " << sc << std::endl;
uint16_t t = 0x1234;
{
if( t != 0x3412 )
{
std::cerr << std::hex << "t: " << t << std::endl;
return 1;
}
t = 0x1234;
}
{
if( t != 0x1234 )
{
std::cerr << std::hex << "t: " << t << std::endl;
return 1;
}
}
char n[2];
memcpy(n, &t, 2 );
uint16_t tn = *((uint16_t*)n);
{
if( tn != 0x3412 )
{
std::cerr << std::hex << "tn: " << tn << std::endl;
return 1;
}
t = 0x1234;
}
{
if( tn != 0x1234 )
{
std::cerr << std::hex << "tn: " << tn << std::endl;
return 1;
}
}
tn = *((uint16_t*)n);
{
if( tn != 0x3412 )
{
std::cerr << std::hex << "tn: " << tn << std::endl;
return 1;
}
}
{
if( tn != 0x1234 )
{
std::cerr << std::hex << "tn: " << tn << std::endl;
return 1;
}
}
if( myfunc() )
{
return 1;
}
uint16_t array[] = { 0x1234 };
if ( array[0] != 0x3412 )
{
return 1;
}
return 0;
}