请问如何在unicode模式下正常显示汉字?(有内容)

catyou 2003-01-07 10:22:37
char* desc = "体";
char buf[50];
memset(buf, 0, sizeof(buf));
strcpy(buf, desc);
_TCHAR chMsg[100];
memset(chMsg, 0, sizeof(chMsg));
int templen = MultiByteToWideChar(CP_ACP,0,buf,-1,NULL,0);
_TCHAR *temp = new _TCHAR[templen];
MultiByteToWideChar(CP_ACP,0,buf,-1,temp,templen);
swprintf(chMsg, L"%s",temp);
delete temp;
temp = NULL;

这样的代码好象只能处理英文字符,不能处理汉字的正确显示。有哪位大虾知道还需要做什么工作?我现在是在Embedded Visual c++下开发
...全文
110 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiqizheng 2003-01-13
  • 打赏
  • 举报
回复
用API:
MulitByteToWideChar呀,很简单的!
看看EVC的API Reference...
bailingke 2003-01-12
  • 打赏
  • 举报
回复
gz
yezhizi 2003-01-10
  • 打赏
  • 举报
回复
在要显示的字符前脚上宏定义 _T 就行了,
比如你要用一个MESSAGEBOX,
就写成MessageBox(_T("内容"),_T("标题"),MB_OK);
欢迎交流 :)
catyou 2003-01-10
  • 打赏
  • 举报
回复
看来你没有弄明白我的意思。我现在从网络上接收到带有汉字的数据,需要将此信息显示在界面上。
比如:
char* msg = "你好";
TCHAR wMsg[10];
如何将msg的信息转换为wMsg?
catyou 2003-01-09
  • 打赏
  • 举报
回复
我说的是汉字,而不是罗马字母,因为汉字在_MBCS下是以二个字节保存,但在_UNICODE下TCHAR类型是两个字节,必须转换才能正常显示汉字。thx
catyou 2003-01-09
  • 打赏
  • 举报
回复
楼上的,编绎好象通过不了啊;
MoQi_123 2003-01-09
  • 打赏
  • 举报
回复
将char转换成unicode。在eVC++下有个办法可以实现,非常方便
char cTest[100];
CString strTest;
......
...... //cTest有值后
strTest=cTest; //CString类使用的是unicode
char cValue[200];
memset(cValue,0,200);
strcpy(cValue,strTest); //cValue已经是unicode了,不信可以在调试下监视cValue的值
kekebird 2003-01-09
  • 打赏
  • 举报
回复
你可以式式MultiByteToWideChar() API函数,到msdn里一查就明白了。
catyou 2003-01-08
  • 打赏
  • 举报
回复
界面可以正常显示汉字,但在程序中不知如何将char转换为unicode,在编绎器设置为_MBCS时可以正常转换,但设置为_UNICODE时转换会不正常,有无高手知道如何解决?thx
sunwhite 2003-01-07
  • 打赏
  • 举报
回复
关注此题!
isdong 2003-01-07
  • 打赏
  • 举报
回复
可以显示汉字

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧