举个例:struct FileInfo
{
ULONGLONG File_ContentLength;
BYTE DataBuf[400000];
}; for(i=0;i<400;j++,i++)
{
pDlg->m_SendFileInfo.DataBuf[i]=pDlg->m_FileContent[j];
}
send(WirteSock.fd_array[0],(const char*)&pDlg->m_SendFileInfo,sizeof(pDlg->m_SendFileInfo),0);像上面所示,我只给FileInfo结构体中,DataBuf的前400个元素赋值! 下面的send的第3个参数(红色标示),是保持这样还是修改为:400+8(8是 ULONGLONG长度)?
我没有理解send的第3个参数的含义!
请指导!
比如我希望发 200 字节,第三个参数就填200
你给的代码中第三个参数是sizeof(buffer), 只是每次都把整个缓冲区的数据都法出去而已。