看流星社区

 找回密码
 注册账号
查看: 2276|回复: 0

VC2005 char 转换 LPCWSTR 问题

[复制链接]

该用户从未签到

发表于 2014-7-21 09:02:26 | 显示全部楼层 |阅读模式
我看了些在VC6.0的资料 模仿部分写了些东西 遇到些转换
如 MessageBox 函数 定义一个 char ch[10]; 给ch 写进字符
然后调用  MessageBox((LPCWSTR)ch);  编译是没问题,但是显示出来的
是乱码~` LPCWSTR 类型是多少位的啊?
我看的资料里在VC6.0中 可以这样使用 MessageBox(ch); 无须强制转换
但在2005中就不行,必须要强制转换后才能通过编译~`但转换后显示的又是乱码...有没有解决办法...
我改了,但问题还是没有能解决......

呵呵,好了我知道原因了...
在 windows平台中对LPCTSTR 有如下定义
  typedef   LPCTSTR    LPTSTR ;
  #ifndef   _UNICODE  
  typedef   TCHAR   char;  
  #else  
  typedef   TCHAR   wchar_t;  
  #endif  

解决方案就是, 在项目属性里面找到项目默认值下面的字符集, 将其换为:使用多字节字符集就ok了.

typedef   LPTSTR   const   TCHAR*;
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-17 15:20

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表