Typecasting char* to a structure
Posted on 2006-11-03
I have created an application which sends a structure (composed mostly of DWORD, UWORD, etc...) from one PC to another. Take into mind that the structure of the message also uses nested structures (meaning structures within the main structure). This communication is made possible by windows socket. The communication of socket message passing (send() and recv()) uses char pointer. So, to make the message pass through the other side, I typcasted my message into char pointer.
After being received by the recv() function, the message is in char pointer. How can I convert the char pointer back into the structure.
1. Type casted inot structure directly: structure = (structure)buffer, structure = (structure)buffer;
2. Changed the message passed into plain character. The message was displayed correctly, meaning, the message passed is correctly sent.
3. Used memcpy. As expected, it failed.
4. Changed the receiving structure into a structure pointer: structure* = (structure*)buffer, structure* = (structure*)&buffer -->nice try.
5. I even tied typecasting it to void.
Your help will greatly be appreciated. Thank you.