您的位置:首页 > 其它

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

2011-10-14 10:41 645 查看
方法一:

方法一只针对新手,在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); // MultiByteToWideChar函数用法请看MSDN

LPCWSTR str4 = wCh;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐