wince下char转Tchar,中文乱码。

hahohohohoho 2013-09-26 11:26:58
1.我是用MultiByteToWideChar 函数
2.sdk是简体中文,目标设备也是简体中文
3.相同的代码 在xp上能够正常转换,模拟器和目标设备 都是乱码。
4.我用的是vs2005,繁体版的。
以下为代码,数字跟字母都能显示出来,就是汉字乱码了。

char sourse[50] ="123我wo我";
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, (char*)sourse, -1, NULL, 0);
TCHAR *pwText;

pwText = new TCHAR[dwNum];

MultiByteToWideChar (CP_ACP, 0,(char*) sourse, -1, pwText, dwNum);

MessageBox(pwText);
delete []pwText;
...全文
194 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hahohohohoho 2013-10-04
  • 打赏
  • 举报
回复
一樣哎, 中文顯示亂碼,現在很糾結。我用在模擬器上測的。
91program 2013-09-27
  • 打赏
  • 举报
回复
因为此函数的转换依赖于 locale,locale 是在定制系统时定制的。 下面的代码:
{
		char sourse[50] ="123我wo我";
		DWORD dwNum = MultiByteToWideChar (936, 0, (char*)sourse, -1, NULL, 0);
		TCHAR *pwText;

		pwText = new TCHAR[dwNum];

		MultiByteToWideChar (936, 0,(char*) sourse, -1, pwText, dwNum);

		MessageBox(pwText);
		delete []pwText;
	}
运行结果也是正确的,LZ 可以试试。
91program 2013-09-27
  • 打赏
  • 举报
回复
我测试了一下 LZ 提供的代码,在偶的设备上运行正确,可以正确的转换。
hahohohohoho 2013-09-26
  • 打赏
  • 举报
回复
發現 發錯區了,版主能否幫我移到wince版塊?

19,500

社区成员

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

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