Unicode C
Unicode C
Append Big-Endian or Little-Endian Integers
Demonstrates how to append integers in big-endian or little-endian byte order to a BinData.Note: This example requires Chilkat v9.5.0.77 or greater.
Chilkat Unicode C Downloads
#include <C_CkBinDataW.h>
void ChilkatSample(void)
{
BOOL success;
HCkBinDataW bd;
int x;
BOOL littleEndian;
success = FALSE;
bd = CkBinDataW_Create();
// The hex value of decimal 123456789 is 0x075BCD15
x = 123456789;
// Appending little-endian causes bytes to be
// appended in the order 0x15, 0xCD, 0x5B, 0x07
littleEndian = TRUE;
success = CkBinDataW_AppendInt4(bd,x,littleEndian);
wprintf(L"%s\n",CkBinDataW_getEncoded(bd,L"hex"));
// Output is: 15CD5B07
// Now append the same integer in big-endian byte order.
// Appending bit-endian causes bytes to be
// appended in the order 0x07, 0x5B, 0xCD, 0x15
littleEndian = FALSE;
CkBinDataW_AppendInt4(bd,x,littleEndian);
wprintf(L"%s\n",CkBinDataW_getEncoded(bd,L"hex"));
// bd now contains: 15CD5B07075BCD15
// -------------------------------------------
// Now do the same thing with 16-bit integers
CkBinDataW_Clear(bd);
// 1234 decimal = 0x04D2 hex.
x = 1234;
littleEndian = TRUE;
CkBinDataW_AppendInt2(bd,x,littleEndian);
wprintf(L"%s\n",CkBinDataW_getEncoded(bd,L"hex"));
// Output is: D204
littleEndian = FALSE;
CkBinDataW_AppendInt2(bd,x,littleEndian);
wprintf(L"%s\n",CkBinDataW_getEncoded(bd,L"hex"));
// Output is now: D20404D2
CkBinDataW_Dispose(bd);
}