注册 登录
编程论坛 VC++/MFC

多线程聊天工具--孙鑫老师的视频,接受数据出现问题

观海听潮 发布于 2017-08-07 21:13, 1982 次点击
vs2012 消息响应函数出现了问题,在接收框内显示数据出现错误,若接受的是英文信息,就只有首字母,若是汉字信息,就是乱码

    CString str((char *)lParam);//接受到的数据
    MessageBox(LPCTSTR(str));    //测试时使用的,发现弹出的消息若是接受的是英文,就只有首字母,若是汉字,就是乱码

//接受数据的消息响应函数的实现
LRESULT CChatDlg::OnRecvData(WPARAM wParam, LPARAM lParam)//
{
    CString str((char *)lParam);//接受到的数据
    MessageBox(LPCTSTR(str));    //测试时使用的,发现弹出的消息若是接受的是英文,就只有首字母,若是汉字,就是乱码

    CString strTemp;//用于接受旧的数据
    //从控件中获取接收框内的文本
    GetDlgItemText(IDC_EDIT_RECV, strTemp);
   
    str += "\r\n";//加入一个换行,保留原来的聊天记录
    str = strTemp + str;
   
    SetDlgItemText(IDC_EDIT_RECV, str);//放回到接收的编辑框内

    return 0;
}
1 回复
#2
hhzhuzw2017-08-13 21:00
问题好像出在 CString str((char *)lParam);//接受到的数据
1