急:一个socket发送结构体的问题
struct FILEINFO
{
ULONGLONG FileLen;//8080
char FileName[100];//"win.rar"
char ask[44]; //"I can play"
};
char recvBuf[1024];
memset(recvBuf,0,1024);
retval=recvfrom(m_DataSocket,recvBuf,1024,0,(SOCKADDR*)&addrFrom,&len);
sendto(m_FileSendSocket,(char *)&g_FileInfo,sizeof(FILEINFO),0,(LPSOCKADDR)&addrTo,sizeof(SOCKADDR));
为什么接受的时候数据不正确呢?如果岸上面的结构体发送接受到"?"
结构体里面的成员换个位置:
struct FILEINFO
{
// ULONGLONG FileLen;//8080
char FileName[100];//"win.rar"
char ask[44]; //"I can play"
ULONGLONG FileLen;//8080
};
将FileLen放在其他位置,接受的都是第一个数组的值,为什么啊?急死了,搞一天都不行,另外将他们三个格式化到cstring中的时候除非将FileLen放在最后,不然放在最后的数组就会是NULL