函数如下:
if(wcscmp(lpstrConnection, _T("")) != 0)
m_strConnection = lpstrConnection;
报错:
error C2664: 'wcscmp' : cannot convert parameter 1 from 'const char *' to 'const unsigned short *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
if(wcscmp(lpstrConnection, _T("")) != 0)
m_strConnection = lpstrConnection;
报错:
error C2664: 'wcscmp' : cannot convert parameter 1 from 'const char *' to 'const unsigned short *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
解决方案 »
- 刚学MFC 问几个关于选项卡的基础问题
- 如果要编写directX相关的程序,用什么开发是最锋利的、最有升级延续性的?
- mmp.h有这个头文件吗,它是用在什么地方呢?它里面定义了这样一个PHYSICAL_MEMORY_INFO结构.
- 关于得到硬盘某一个分区的相关信息。非常急啊!非常急啊!非常急啊!
- 50分:请问如何在VC中调用cab包,我有在html中调用cab的代码,但我想放在vc中调用?谢谢。
- 推荐基本学习vc首先需要看的书??
- 谁有使用listview控件的代码?
- 看看外面的招聘,好像招VC的很少,怎么办?
- 我似乎搞技术搞成神经病了
- ~~~~~~~~~~~~~~请问高手们一个关于消息映射的问题
- 如何调用iisreset.exe
- TCP 只接受连接时,服务器第一次接受3m正常,第2,3,就有问题出错了
wcscmp参数wchar_t*
你应该用strcmp
函数原型
int wcscmp( const wchar_t *string1, const wchar_t *string2 );
error C2664: 'wcscmp' : cannot convert parameter 1 from 'const char *' to const wchar_t *”'吧
wcscmp是UNICODE下的字符比较函数,它的参数也要是宽字符。多字节下应使用 strcmp。
你把if(wcscmp(lpstrConnection, _T("")) != 0) 改成if(strcmp(lpstrConnection, "") != 0)应该就可以像字符操作函数,变量等,写代码时最好统一用宏代替。比如 _tcscmp宏在UNICODE下就表示wcscmp,多字节下就为strcmp. 其它函数也有同样的宏。 申明字符用TCHAR。 字符串赋值用_T("").
_tcscmp和wcscmp在unicode编码下不是应该一样吗?
为什么_tcscmp可以,但wcscmp却不行?