在客户端测试过了,链表中的数据很完整,接收代码如下
void CClientSocket::OnReceivePostList()
{
int len = 0;
// 读取列表长度
if (Receive((void*)&len, sizeof(len), 0) != sizeof(len))
{
TRACE0("Unable to receive post list length.");
return;
}
//
if (len == 0) {
return;
}
//
POST_INFO* pArray = new POST_INFO[len];
ASSERT(pArray != NULL);
// receive post list
if (Receive((void*)pArray, sizeof(POST_INFO) * len, 0) !=
(int)sizeof(POST_INFO) * len) {
TRACE0("Unable to receive POST list data.");
return;
}
// 将其添加到帖子列表
POST_INFO* pInfo = pArray; for (int i = 0; i < len; i++, pInfo++) {
POST_INFO* p = new POST_INFO;
memcpy((void*)p, (void*)pInfo, sizeof(POST_INFO));
m_pMainWnd->AddPostInfo(p);
//AfxMessageBox(p->title);//(test)
}
// 更新组合框的显示
m_pMainWnd->AddPostList();
//
delete pArray;
}然后是在窗口显示
BOOL COnlineForumCDlg::AddPostList()
{

if (m_PostList.GetCount() == 0)
return FALSE; CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_POSTLIST_COMBO);
pCombo->ResetContent();
//
POSITION   pos = m_PostList.GetHeadPosition();
POST_INFO* pFirst;
//
for (int i = 0; i < m_PostList.GetCount(); i++)
{
POST_INFO* pInfo = m_PostList.GetNext(pos);
if (i == 0) {
pFirst = pInfo;
}
pCombo->AddString(pInfo->title);//帖子标题
}
//
pCombo->SetCurSel(0);
OnSelchangePostlistCombo(); return TRUE;
// Static 复位}
怎么看代码都没问题,或者我看不出来,为什么出来的题目只有一行?
求高人指导。