I have created structure :
struct buffer
{
string ProjectName ;
string ProjectID ;
}
buffer buf;
buf.ProjectID = "212";
buf.ProjectName = "MyProj";
Now to send this structure using sendto method , I am typecasting the strucure and sending it back as below:
char *sendbuf = (char*)&buf;
sentbytes = sendto(sock,sendbuf,strlen(sendbuf),0,(sockaddr*)&their_addr,sizeof(their_addr));
But while I am casting my Struct ti char* the actual data is loosing it’s values and while debugging I see sendbuf is containing some other values.
Can some one let me know how can I send the above structure using sendto.
You need to create the structure using POD, the string is not something you can use in that way. Instead you need to declare it something like
EDIT: clarification, the string contains a pointer to a heap allocated memory block, so you are not actually sending the characters when you try to send that structure.