错误argument of type "char *" is incompatible with parameter of type "LPCWSTR"的解决方法

方法一:

方法一只针对新手,在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等进行转换

  1. LPCWSTR str1 = TEXT("Hello");
  2. LPCWSTR str2 = L"Hello";
  3. LPCWSTR str3 = _T("Hello");

 

方法三:

这种是针对使用变量来存储字符串的解决方法。

    1. const char* ch = "Hello";
    2. WCHAR wCh[6];
    3. MultiByteToWideChar( 0,0, ch, 5, wCh, 6);  // MultiByteToWideChar函数用法请看MSDN
    4. LPCWSTR str4 = wCh;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值