不能从const char *转换为LPCWSTR --VS经常碰到

错误:

不能从const char *转换为LPCWSTR

在VC 6.0中编译成功的项目在VS2005 vs2005、vs2008、vs2010中常会出现这类型错误。

解决办法:

方法一:可行的办法是使用 _T(“TEST”)转换。

另一种方法是:项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。

原因:

这是由于字符编码问题引起的。

VC6 默认使用的 MBCS(多字节字符集) 编码,而 VS2010 及高版本 VS默认使用的 Unicode编码。

UNICODE与MBCS或ANSI 有什么区别呢?
简单的说,UNICODE版的字符比ANSI 的内存占用大,比如:Win32程式中出现的原来的标准定义 char 占一个字节,而 char 的UNICODE版占2个字节,被定义成这样:typedef unsigned short wchar_t 。

转载自:https://www.cnblogs.com/dongsheng/p/3586418.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值