请教:结构体转换成字符串的问题?
typedef struct
{
unsigned char MsgType;
unsigned int HostID;
unsigned char IsWriteDB;
float Temperature;
} TempPacket;
上面是我定义的一个结构体,我想把结构体变量转换成字符串,再通过串口发送出去。下面是我想法:
unsigned char *temp=(char *)TemPacket;
请问这样做可以吗?
[解决办法]
typedef struct
{
unsigned char MsgType;
unsigned int HostID;
unsigned char IsWriteDB;
float Temperature;
} TempPacket;
TempPacket pkt; /* 必须定义一个对象,才能进行相应的数据传送或处理 */
unsigned char * ppkt = (unsigned char *)&pkt; /* 可以把它的地址传给一个char *指针 */
/* 不过发送的时候不应使用字符串方式,而应当是二进制包 */