char const char* 类型的实参与LPCWSTR 类型的形参类型不兼容 wchar_t vscode

char类型的实参与LPCWSTR类型的形参类型不兼容

char

char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。

wchar_t

Wide character 。wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位,总之,wchar_t所能表示的字符数远超char型。unicode编码的字符一般以wchar_t类型存储

wchar_t wt[] = L"中国伟大复兴梦";   
wcout << wt << endl;    

//将char*转换成wchar_t

wchar_t appName[5]=TEXT("test"); //可以用TEXT()方法将char转换成wchar_t
L"test" //也可以在字符串前面加上L

//string.h
//在字符串操作时在函数名前加 ‘l’
lstrcpy();
lsrtcmp();

 

LPCWSTR

LPCWSTR是一个指向unicode编码字符串的32位指针,所指向字符串是wchar型,而不是char型。

该类型是如下声明的:

typedef const wchar_t* LPCWSTR;

解决方案:

  • 把工程设置里去掉UNICODE宏定义(VS)

         项目->XXX属性->配置属性->常规->字符集 , 由使用Unicode字符集 改为 使用多字节字符集

  • 使用TCHAR。

         #define char TCHAR

  • 如果还有错误,在出错的字符串前面加大写

         L"this  is  simba.\n"

  • 如果还有错误,在出错的字符串处理函数前面加小写‘l’

        lstrcat (llala,L"abcd") ;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值