注册 登录
编程论坛 VC.NET论坛

在线聊天中接收端出现乱码

learner09 发布于 2009-08-24 20:29, 2514 次点击
LRESULT CChatDlg::OnRecvData(WPARAM wParam,LPARAM lParam)//自定义消息函数
 {
     CString str((char*)lParam);
     GetDlgItemText(IDC_REV,strTemp);
     str+="\r\n";  
     str+=strTemp;
     SetDlgItemText(IDC_REV,str);
     return 0;
 }

 void CChatDlg::OnBnClickedBtnSend()  //发送端代码
 {
     // TODO: 在此添加控件通知处理程序代码
     DWORD dwIP;
     ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(dwIP);
     SOCKADDR_IN addrTo;
     addrTo.sin_family=AF_INET;
     addrTo.sin_port=htons(6000);
     addrTo.sin_addr.S_un.S_addr=htonl(dwIP);
     CString strSend;
     GetDlgItemText(IDC_SEND,strSend);
     sendto(m_socket,(LPSTR)(LPCTSTR)strSend,strSend.GetLength()+1,0,
         (SOCKADDR*)&addrTo,sizeof(SOCKADDR));
     SetDlgItemText(IDC_SEND,_T(""));
 }
代码就是上面的,我实在VS2008的环境中编程的,在接收端总是出现乱码,急求大家帮忙
先谢谢了
2 回复
#2
liyu3552009-11-06 15:45
CString 默认是unicode字符的。
CString str((char*)lParam);当然是乱码啦。。
CString str(CA2W((char*)lParam))
试试
#3
鸥翔鱼游2014-04-22 14:38
且学且珍惜,得认学习真正消化
1