能否发送结构体数组?

Typist 2006-06-03 05:25:02
typedef struct aaa
{
int a;
char b[10];
}AAA;

// 发送端
AAA sutArray[5];
memset(sutArray, 0, sizeof(sutArray));
for (int i=0; i<5; i++)
{
AAA stru;
stru.a = i;
strcpy(stru.b, "LALALA");

memcpy(sutArray+i, stru, sizeof(stru));
}

send(sock, (char *)sutArray, sizeof(sutArray));

// 接收端
AAA othArray[5];
memset(othArray, 0, sizeof(othArray));
recv(sock, (char *)othArray, sizeof(othArray));

出现问题: othArray前三个没有数据, 后两个有. 是什么原因?
...全文
174 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeRapHiw 2006-06-04
  • 打赏
  • 举报
回复
要先分解成send支持的参数进行发送,
在接收端重新组装。
duoduoliang 2006-06-03
  • 打赏
  • 举报
回复
memset(sutArray, 0, sizeof(sutArray));这句SIZEOF也有问题
DentistryDoctor 2006-06-03
  • 打赏
  • 举报
回复
得看你本身发的是什么了。
MuseIn 2006-06-03
  • 打赏
  • 举报
回复
send(socksend, (char *)sutArray, 5*sizeof(AAA),0);


recv(sockrecv, (char *)othArray, 5*sizeof(AAA),0);

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧