_variant_t 如何通过sendto 传播

sendto(socket,(constchar*)&msgbuf,sizeof(msgbuf),0,(constsockaddr*)&sin,sizeof(sin));... sendto(socket, (const char*)&msgbuf, sizeof(msgbuf), 0, (const sockaddr*)&sin, sizeof(sin));
由于_variant_t 结构是复合了int 和 char* 类型的指针结构,可能内存不连贯导致都到的数据是乱码有办法解决这个问题么?
展开
 我来答
BlueWanderer
2015-01-19 · TA获得超过9209个赞
知道大有可为答主
回答量:5673
采纳率:83%
帮助的人:2023万
展开全部
别直接传,先传类型再传内容。

乱码不是内存不连贯,接收端又不知道你指针指向的是什么。
更多追问追答
追问
memcpy(msc.para_char, (const char*)&brsd_c_v, sizeof(brsd_c_v));
我先把是指针传入一个结构体里

vector *brsd_c_v = (vector *)msc.para_char;
然后再在SERVER端把结构体用指针变回来

在客户端用的这个能完整的显示数据,到了服务端数据就乱码了。
追答
VARTIAN当字符传用的时候是个指针,你这样只是传了一大串指针过去,内容根本没传。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式