MFC显示收到的数据的问题
我用多线程和udp接收数据,然后用自己写的一个类把收到的字符串解析出来,然后在类里有一个成员函数,可以产生一个Recvdata的消息,并把要输出的部分发给Recvdata的消息响应函数,但是输出的是乱码,不知是为什么
void Protocol::print(HWND hwnd)
{
char tempBuf[100];
sprintf_s(tempBuf, ("DLESOH:[%d, %d]"), DLESOH[0], DLESOH[1]);
//LPARAM a = (LPARAM)tempBuf;
::PostMessage(hwnd, WM_RECVDATA, 0, (LPARAM)tempBuf);/////////在这里看tempBuf里的值是正确的
}
下面的是消息响应
LRESULT CSendCommandDlg::OnRecvdata(WPARAM wParam, LPARAM lParam)
{
// 取出接收到的数据
CString str((char*)lParam);/////////////////这里str得到的数据已经不对了
CString strTemp;
//获得已有数据
GetDlgItemText(IDC_EDIT_RECV, strTemp);
str += "\r\n";
str += strTemp;
//显示所有接收到的数据
SetDlgItemText(IDC_EDIT_RECV, str);
return 0;
}