请教如何实现struct和char的互相转换?
在socket编程过程中,client端希望放入socket的是一个自己定义的struct,server端希望把socket里面的struct取出。但是遇到了类型转换的问题,诚心请教大家,代码大意如下:
struct dms_tcp_msg{
int header[4];
char *data;
};
dms_tcp_msg *msg;
msg=(dms_tcp_msg *)malloc(sizeof(msg));
char *buffer;
buffer=(char *)malloc(sizeof(MAXDATASIZE));
buffer=(dms_tcp_msg *)msg;
printf("msg->data=%s\n",msg->data);
打印出来的结果为空。
应该是转换的过程有问题,但是一下子又不知道是错在了哪里。
刚刚开始做socket的编程,有些概念也很不清楚,比如放入socket, 和从socket中取出的结构是否一定要是char * 呢?