急,MFC socket编程,发送结构体数组

来源:百度知道 编辑:UC知道 时间:2024/06/01 17:19:40
typedef struct friendStruct
{
char id[20];
char name[20];
int count;
};
friendStruct fs[100];
send(SocketAccept[i], (char*)fs,sizeof(fs)*100, 0);
出错,该怎么发啊

send(SocketAccept[i], sizeof(friendStruct), 0);

sizeof(fs)*100中的sizeof(fs),求得的是数组fs的大小,而不是你想要的结构体的大小。应该用sizeof(friendStruct)*100

最好是把结构体中的数据按照一定的长度复制到一个数组中
比如说,id 20字节,name 20字节 count 4字节,结构体数组中的每一个元素都要占24个字节,占不满的添 0 ,id必须占20个,name 也要占够20个,count 占4个,下一个元素就要向后排;
再就是到了接收那边也要进行相应的处理一下就可以了