永发信息网

mfc在自定义消息里接收字符串,低字节

答案:2  悬赏:40  手机版
解决时间 2021-02-08 18:36
  • 提问者网友:记得曾经
  • 2021-02-08 05:41
::PostMessage(wnd,WM_THREATE,0,(LPARAM)buf6);
这是线程里的

CString str=(char*)lParam;
这是自定义消息里的

不知道为什么,接收到的数据是乱码,数值是负的
最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-02-08 06:58
可能有三种原因:
1、buf6是一个局部变量,所以等到WM_THREATE消息响应时buf6已是无效指针;修正方法有而:1可以将buf6改为类变量或全局变量;2是将PostMessage改为SendMessage。
2、buf6的编码与应用设置不一样,例如设置为使用UNICODE编码,而buf6是char型数组或指针;或反过来,应用使用MBCS编码设置,而buf6是WCHAR型数组或指针;修正方法是将buf6的申明改为TCHAR型,例如TCHAR buf6[1024]。
3、buf6本身数据就是错的,如乱码或如楼上所言没有结束符。
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-02-08 07:23
是不是buf6里面的字符串没有结束符号。 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯