能否发送结构体数组?
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前三个没有数据, 后两个有. 是什么原因?
问题点数:100、回复次数:4Top
1 楼MuseIn(air supply * 学好Linux)回复于 2006-06-03 21:49:10 得分 25
send(socksend, (char *)sutArray, 5*sizeof(AAA),0);
recv(sockrecv, (char *)othArray, 5*sizeof(AAA),0);Top
2 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-06-03 21:53:47 得分 25
得看你本身发的是什么了。Top
3 楼duoduoliang()回复于 2006-06-03 21:59:27 得分 25
memset(sutArray, 0, sizeof(sutArray));这句SIZEOF也有问题Top
4 楼SeRapHiw(灯芯草)回复于 2006-06-04 11:30:34 得分 25
要先分解成send支持的参数进行发送,
在接收端重新组装。Top




