#include <iostream>
int main()
{
int value = 123456789;
char myChar[4]; //Integer
int *intPtr = reinterpret_cast<int*>(&myChar[0]);
*intPtr = value;
int wrongValue = myChar[0]; //Only copies the first byte, converting a single char to an int.
std::cout << "wrongValue: " << wrongValue << std::endl;
int rightValue = *reinterpret_cast<int*>(&myChar[0]);
std::cout << "rightValue: " << rightValue << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiAgICBpbnQgdmFsdWUgPSAxMjM0NTY3ODk7CiAgICBjaGFyIG15Q2hhcls0XTsgLy9JbnRlZ2VyIAogICAgCiAgICBpbnQgKmludFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oJm15Q2hhclswXSk7CiAgICAqaW50UHRyID0gdmFsdWU7CiAgICAKICAgIGludCB3cm9uZ1ZhbHVlID0gbXlDaGFyWzBdOyAvL09ubHkgY29waWVzIHRoZSBmaXJzdCBieXRlLCBjb252ZXJ0aW5nIGEgc2luZ2xlIGNoYXIgdG8gYW4gaW50LgogICAgc3RkOjpjb3V0IDw8ICJ3cm9uZ1ZhbHVlOiAiIDw8IHdyb25nVmFsdWUgPDwgc3RkOjplbmRsOwogICAgCiAgICBpbnQgcmlnaHRWYWx1ZSA9ICpyZWludGVycHJldF9jYXN0PGludCo+KCZteUNoYXJbMF0pOwogICAgc3RkOjpjb3V0IDw8ICJyaWdodFZhbHVlOiAiIDw8IHJpZ2h0VmFsdWUgPDwgc3RkOjplbmRsOwogICAgCiAgICByZXR1cm4gMDsKfQ==