最近在程序设计中用到api SendMessage()函数,出现了乱码的状况,代码如下:
char str[200];
if(connect(Sock,(SOCKADDR *)&SockAddr,sizeof(SockAddr))==0)
{
//连接成功,
sprintf(str,"%s : %d 连接成功\n",IpChar,Param.Port);
}
//向list box发送LB_ADDSTRING显示数据
SendMessage(GetDlgItem(hDlg,IDC_LIST_RST),LB_ADDSTRING,NULL,(LPARAM)str);
我使用的是vs2008编译的,但是运行后listbox中显示乱码。
网上查了一下,有人说用SendMessageA()就可以,自己试了一下确实是这样。可能跟多人都会碰到这个问题,所以拿出来让大家注意一下。
但是拷贝他人的vs2008的工程,同样使用的SendMessage(),却没有出现乱码的现象,求解原因??
只知道原因大概是unicode和iscii的问题,但是具体为什么是一头雾水,希望哪位大哥帮忙看看