vc中关于发送自定义消息传递局部参数的问题 vc乱码cstring 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PostMessage是逻辑线程异步发给界面线程而你使用的CString或者char数组都是局部变量,PostMessage后这些局部变量生命周期已过,而PostMessage就是传的局部变量的地址.....楼主应该new一个堆上的内存如:char* pszRecv = new char[200];memset(pszRecv ,0,200);sprintf_s(szRecv, "%s 说:%s", (char *)inet_ntoa(addrRecv.sin_addr), (char *)szBuf);strRecv.Format("%s 说:%s",(char *)inet_ntoa(addrRecv.sin_addr), (char *)szBuf);::PostMessage(hWnd, WM_RECVMSG, 0, (LPARAM)pszRecv );在LRESULT CChatDlg::OnRecvData(WPARAM wParam, LPARAM lParam)函数使用pszRecv 后 delete[] pszRecv ;即可 char szRecv[200] = { 0 };// 方式2改成char* szRecv=new char[200]; 很可能是 szRecv 在后面的运行中没有改变地址中的值,所以还可以显示正常 求vs6.0变成office2010界面的方法 如何自动保存文件为当前日期 visual studio 2005 visual studio 2008 的vc 的区别 如何删除对话框上的视图? ToolTip不能显示!!!!!! 请教,马上给分!!! 关于多线程编程的问题 如何在vc++中设置系统的时间显示格式? 串口读写是在同一个端口上操作么? 为什么错呢? 窗口隐藏无效 广域网通信的问题
char* pszRecv = new char[200];memset(pszRecv ,0,200);sprintf_s(szRecv, "%s 说:%s", (char *)inet_ntoa(addrRecv.sin_addr), (char *)szBuf);strRecv.Format("%s 说:%s",(char *)inet_ntoa(addrRecv.sin_addr), (char *)szBuf);::PostMessage(hWnd, WM_RECVMSG, 0, (LPARAM)pszRecv );在LRESULT CChatDlg::OnRecvData(WPARAM wParam, LPARAM lParam)函数使用pszRecv 后 delete[] pszRecv ;即可
改成char* szRecv=new char[200];