当前位置:  开发笔记 > 编程语言 > 正文

调用_tcsstr并分配给wchar_t*时出现编译错误

如何解决《调用_tcsstr并分配给wchar_t*时出现编译错误》经验,为你挑选了1个好方法。

我在尝试构建以前工作的C++项目时遇到了编译错误.

代码如下:

const wchar_t* pdest;
pdest = _tcsstr(ConnStr, Name);

错误如下:错误10错误C2440:'=':无法从'const char*'转换为'const wchar_t

我正在使用Visual Studio 2008.错误消息很好地解释了问题,但我知道这个程序用于编译,我做错了什么?



1> ctacke..:

你的代码很危险._tcsstr是一个TCHAR宏,因此它的定义可以根据是否定义UNICODE而改变.wchar_t是固定的.您看到的错误是由于这个确切的问题 - 环境使用_tcsstr的单字节版本(可能因为未定义UNICODE).

不要只定义UNICODE.首先修复代码.可以为两者使用TCHAR宏,也可以使用宽字符函数.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有