char* 转成CString乱码 本帖最后由 VisualEleven 于 2013-08-09 11:53:54 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 // CString是unicode// Remote_Name应该是wchar_t 可以使用ATL 的 CT2CW 可以简单的从单字符转换为双字符。 m_remote_name.Format(_T("%S"),pRemote_DataBase->Remote_Name);//大写试试 既然你是unicode那么char*转CString可以直接用char* data; CString csData(data);。。这个构造函数不是现成的吗 本帖最后由 VisualEleven 于 2013-08-09 10:18:25 编辑 本帖最后由 VisualEleven 于 2013-08-09 10:18:01 编辑 m_remote_name.Format(_T("%s"), CString(pRemote_DataBase->Remote_Name)); 2楼不说了么MultiByteToWideChar UpdateData(true); TCHAR* tempAct; CString stemp;tempAct = m_remote_name.GetBuffer(); WideCharToMultiByte(0,0,tempAct,-1,pRemote_DataBase->Remote_Name,m_remote_name.GetLength(),NULL,NULL);怎么只得到一个中文啊. 是哪里搞错了 输入刘德华,m_remote_name.GetLength() = 3, 输入刘, m_remote_name.GetLength() = 2, 怎么会这么样 没看到源码,就两个变量类型不知道你怎么处理的。你到百度里面直接搜索Cstring,会搜索到百度百科里有解释,很专业、很全面的解释。写这篇文章的是个大牛看完后,一切都清晰了 搞定了,WideCharToMultiByte(0,0,tempAct,-1,pRemote_DataBase->Remote_Name,CStringA(m_remote_name).GetLength(),NULL,NULL); 其实char 到 CStringW 有更简单的方式.CStringW Str;char buf[] = "xxxx";因为CString类重载了相关方法, 可以接受从ASCII到UNICODE串的自动转换.下面三种方式都可以.CStringW Str(buf);CStringW Str2=buf;CStringW Str3;Str3 = buf; 关于网络编程的两个小问题,求思路 怎样把解读Firefox源代码,怎样把内核抠出来? 程序突然不能修改了?! 请问怎么加一个分割条,在对话框中。 灰度投影变换 请问如何知道我的vc6.0是否打过补丁,并且知道补丁的版本号 怎样在非MFC程序中使用MFC类?? 如何在ASP中使用COM组件? ADO中改变字段值总出现错误,寻求解决! 小问题:MDI如何 去掉 右侧X按钮。 socket编程,udp打洞,如何处理多线程接收数据(特定线程接收特定数据) MFC打印程序最多只能打印43页的问题
// Remote_Name应该是wchar_t
MultiByteToWideChar
TCHAR* tempAct;
CString stemp;
tempAct = m_remote_name.GetBuffer();
WideCharToMultiByte(0,0,tempAct,-1,pRemote_DataBase->Remote_Name,m_remote_name.GetLength(),NULL,NULL);
怎么只得到一个中文啊. 是哪里搞错了
输入刘, m_remote_name.GetLength() = 2,
怎么会这么样
你到百度里面直接搜索Cstring,会搜索到百度百科里有解释,很专业、很全面的解释。
写这篇文章的是个大牛看完后,一切都清晰了
char buf[] = "xxxx";
因为CString类重载了相关方法, 可以接受从ASCII到UNICODE串的自动转换.
下面三种方式都可以.
CStringW Str(buf);
CStringW Str2=buf;
CStringW Str3;
Str3 = buf;