- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
我看了些在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*; |
|