VC6.0的编译成功的项目拿到Visual Stdio 中的不能从const char *转换为LPCWSTR -的问题
来源:互联网 发布:370z数据 编辑:程序博客网 时间:2024/05/23 17:56
在字符串前面加上一个大写的L就OK了~
MessageBox(hWnd,L
"鼠标左键按下"
,L
"提示"
,1);
不能从const char *转换为LPCWSTR
在VC 6.0中编译成功的项目在VS2005 vs2005、vs2008、vs2010中常会出现类型错误。
经常出现的错误是:不能从const char *转换为LPCWSTR
如使用MessageBox(hwnd,"TEST",NULL,0)就会报错,如果使用强制转换(LPCWSTR)"TEST",虽然能够通过,但是编码会出错。
可行的办法是使用 _T("TEST")转换,或者TEXT("TEST" )都可以
MessageBox(hwnd,TEXT("TEST"),NULL,0);
MessageBox(hwnd,_T("TEST"),NULL,0);
或者 强制使用ANSI字符 MessageBoxA(hwnd,"TEST",NULL,0);
另一种方法是:项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。
什么原因:
因为你的程序在UNICODE(宽字节)字符集下运行,如果调用了 MessageBox ,实际上调用的是 MessageBoxW 函数;
如果你的程序在 ANSI 字符集运行,调用 MessageBox ,就相当于调用 MessageBoxA;
其中 MessageBoxW 支持 UNICODE;MessageBoxA 支持ANSI;
UNICODE与ANSI 有什么区别呢?简单的说,UNICODE版的字符比ANSI 的内存占用大,比如:Win32程式中出现的标准定义 char 占一个字节,
而 char 的UNICODE版被定义成这样:
typedef unsigned short wchar_t ;占2个字节。
所以有字符做参数的函数相应也用两个版本了。
- VC6.0的编译成功的项目拿到Visual Stdio 中的不能从const char *转换为LPCWSTR -的问题
- 提示不能从“const char *”转换为“LPCWSTR” 的解决办法
- VS遇到的 -- 不能从const char *转换为LPCWSTR
- Visual Studio 2013 不能从const char *转换为LPCWSTR
- 不能从const char *转换为LPCWSTR
- MFC之调用DLL的问题:error C2664: “LoadLibraryW”: 不能将参数 1 从“const char *”转换为“LPCWSTR
- VS2010不能将参数从const char[]转换为LPCWSTR的解决办法
- 不能从const char指针转换为LPCWSTR的原因及解决方法
- VC“中 不能将参数 从“const char *”转换为“LPCWSTR” 的解决办法
- VS不能将参数从const char[]转换为LPCWSTR的解决办法
- 不能将参数2从“const char[15]”转换为“LPCWSTR”与指向的类型无关
- error: C2664: 不能将参数从“const char *”转换为“LPCWSTR” 的解决办法
- error: C2664: 不能将参数从“const char *”转换为“LPCWSTR” 的解决办法
- error: C2664: 不能将参数从“const char *”转换为“LPCWSTR” 的解决办法
- VS2010--不能将参数 2 从“const char [12]”转换为“LPCWSTR”与指向的类型无关
- error c2664:"MessageBoxW":不能将参数2从“const char[15]”转换为“LPCWSTR”与指向的类型无关
- VS2010--不能将参数 2 从“const char [12]”转换为“LPCWSTR”与指向的类型无关
- 关于vc6.0程序到vs2008下运行时的错误error C2664: “MessageBoxW”: 不能将参数 2 从“char *”转换为“LPCWSTR”
- 连通图盲点
- 使用SpringMVC+Hibernate时出现CglibAopProxy异常
- java web中各种路径的问题
- ibatis 中动态SQL查询和动态标签嵌套的使用
- AWVS 提供的接口
- VC6.0的编译成功的项目拿到Visual Stdio 中的不能从const char *转换为LPCWSTR -的问题
- comparator接口与Comparable接口的区别
- 《网络游戏服务器编程》
- Nodejs获取网络数据并生成Excel表格
- node.js 操作excel
- Quartz与Spring的整合-Quartz中的job如何自动注入spring容器托管的对象
- JSP添加<f:view>,页面报错
- nodejs http 发送请求
- 父类引用指向子类对象