错误:argument of type "char *" is incompatible with parameter of type "LPCWSTR"

本文介绍了在Visual Studio 2010中解决字符集问题的三种方法:通过工程属性修改字符集、引入<tchar.h>进行转换以及使用multibytetowidechar函数实现宽字符转换。

方法一:
方法一只针对新手,在vs2010中修改编码格式:
  右键工程——》
  选择“properties”——》
  选择“configuration properties”——》
  再选择“general”——》
  最后把“project default”下的“character set”修改为“use multi-byte character set”(默认为“use unicode character set”)

  这样对新手来说,就省了很多类型显示转换的工夫。但是这对学习windows不好,因为这样无法理解windows编程的特性、字符格式的原理。有精力还是不要用方法一,多折腾下就好了,请看方法二和三,会学到很多东西的。学习编程都是这样,不要贪图闲逸,一定要不畏苦难,遇到困难要想方设法搞懂:
  1.为什么会出现这种错误?
  2.出现这种错误的解决方法?
  3.哪种方法最好,为什么?
  4.联想自己遇到过的类似问题,比较、思考、总结。
相信你这样子会走得更远。

方法二:
方法二要引入 #include<tchar.h>
才能使用text等进行转换
lpcwstr str1 = text(“hello”);
lpcwstr str2 = l”hello”;
lpcwstr str3 = _t(“hello”);

方法三:
这种是针对使用变量来存储字符串的解决方法。
const char* ch = “hello”;
wchar wch[6];
multibytetowidechar( 0,0, ch, 5, wch, 6);
lpcwstr str4 = wch;
引用地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值