fork download
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. struct StructRelayModule {
  5. int mac_peer01[6];
  6. int mac_peer02[6];
  7. int amPBas01;
  8. int RTM01;
  9. int LightThreshold;
  10. int amPBasJL;
  11. int JLStartH;
  12. int JLEndH;
  13. bool PirInd01;
  14. bool RelayInd01;
  15. int CountDown01;
  16. float LightLevel; // this can be also an integer
  17. bool JapLampInd;
  18. };
  19. StructRelayModule TXrelay;
  20. StructRelayModule RXrelay;
  21.  
  22. int main()
  23. {
  24. TXrelay.LightThreshold = 123;
  25. TXrelay.PirInd01 = true;
  26.  
  27. size_t size = sizeof( StructRelayModule );
  28. uint8_t array[size];
  29.  
  30. printf( "serialized :\n" );
  31. memcpy( array, &TXrelay, size );
  32. for ( size_t i = 0; i < size; i++ )
  33. {
  34. printf( "array[%d] = %d\n", i, array[i] );
  35. }
  36.  
  37. printf( "\ndeserialized :\n" );
  38. memcpy( &RXrelay, array, size );
  39. printf( "RXrelay.LightThreshold = %d\n", RXrelay.LightThreshold );
  40. printf( "RXrelay.PirInd01 = %d\n", RXrelay.PirInd01 );
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0s 5428KB
stdin
Standard input is empty
stdout
serialized :
array[0] = 0
array[1] = 0
array[2] = 0
array[3] = 0
array[4] = 0
array[5] = 0
array[6] = 0
array[7] = 0
array[8] = 0
array[9] = 0
array[10] = 0
array[11] = 0
array[12] = 0
array[13] = 0
array[14] = 0
array[15] = 0
array[16] = 0
array[17] = 0
array[18] = 0
array[19] = 0
array[20] = 0
array[21] = 0
array[22] = 0
array[23] = 0
array[24] = 0
array[25] = 0
array[26] = 0
array[27] = 0
array[28] = 0
array[29] = 0
array[30] = 0
array[31] = 0
array[32] = 0
array[33] = 0
array[34] = 0
array[35] = 0
array[36] = 0
array[37] = 0
array[38] = 0
array[39] = 0
array[40] = 0
array[41] = 0
array[42] = 0
array[43] = 0
array[44] = 0
array[45] = 0
array[46] = 0
array[47] = 0
array[48] = 0
array[49] = 0
array[50] = 0
array[51] = 0
array[52] = 0
array[53] = 0
array[54] = 0
array[55] = 0
array[56] = 123
array[57] = 0
array[58] = 0
array[59] = 0
array[60] = 0
array[61] = 0
array[62] = 0
array[63] = 0
array[64] = 0
array[65] = 0
array[66] = 0
array[67] = 0
array[68] = 0
array[69] = 0
array[70] = 0
array[71] = 0
array[72] = 1
array[73] = 0
array[74] = 0
array[75] = 0
array[76] = 0
array[77] = 0
array[78] = 0
array[79] = 0
array[80] = 0
array[81] = 0
array[82] = 0
array[83] = 0
array[84] = 0
array[85] = 0
array[86] = 0
array[87] = 0

deserialized :
RXrelay.LightThreshold = 123
RXrelay.PirInd01 = 1