[error] MFC错误不能将参数1从"const char [3]"转换为"const wchar_t *"
在做项目中经常遇到很多错误,这里我仅仅把自己遇到的一些错误和解决方法写出,供自己和大家查看.
代码如下:
CRect rect; GetClientRect( rect); CString str; str.Format("%ld",rect.bottom); MessageBox(str);
错误提示:
error C2664: “void ATL::CStringT BaseType,StringTraits ::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [3]”转换为“const wchar_t *”.
解决方案:
1.由于VS默认字符集为UNICODE,可以使用_T("")宏,让程序支持Unicode编码.定义于tchar.h.(详见百科:_T())
/* Generic text macros to be used with string literals and character constants. Will also allow symbolic constants that resolve to same. */ #define _T(x) __T(x) #define _TEXT(x) __T(x)
使用时的具体代码方法:str.Format(_T("%ld"),rect.bottom);
注意我在使用:str.Format(_T("%ld %ld %d %d",rect.left,rect.top,rect.Height(),rect.Width()));会提示warning:_T()实参太多,而且对应的数据也是错误的.故应修改成str.Format(_T("%ld %ld %d %d"),rect.left,rect.top,rect.Height(),rect.Width());正确.
2.同时也可以把工程设置多字节集.
设置步骤:调试- XXX项目 属性- 配置属性- 常规- 字符集- 使用多字节集.但建议使用Unicode能避免很多字节型错误.
虽然这类文章在百度很多,但我还是想以自己的视角写这类一些列自己遇到的错误的解决方法.最后希望该文章对大家有所帮助.参考资料:http://bbs.csdn.net/topics/380162797
(原创By:Eastmount 2014-2-26 下午5点http://blog.csdn.net/eastmount/)
相关文章
- 避免"Physics Space Locked"错误
- 【Q&A系列2】环境管理常见Q&A
- [AngularJS] ng-repeat-start & ng-repeat-end
- Error: Failed to connect to MySQL server: DBI connect(';
- 用户 'sa' 登录失败。原因: 该帐户被禁用。 (Microsoft SQL Server,错误: 18470)
- 使用代码创建Hybris storefront订单时遇到错误No result for the given example [TitleModel (&
- WCF 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
- SQL Server 2008 R2用户'sa'登录失败(错误18456)
- 用户 'sa' 登录失败。原因: 该帐户被禁用。 (Microsoft SQL Server,错误: 18470)
- VMware 打开虚拟机电源时提示"内部错误"
- WCF 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
- 无法打开物理文件 "D:understructuredata _DAT.MDF"。操作系统错误 5:"5(拒绝访问。)"
- 介绍一个能避免 CORS 错误的 Chrome 扩展 - Moesif Origin & CORS Changer
- 【nodejs原理&源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)
- 练习 2-2 在不使用运算符&&或||的条件下编写一个与上面的for 循环语句等价的循环语句。
- mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'
- android "Missing type parameter" 错误
- 事件监听 & 页面滚动(页面滚动到某一位置时显示/隐藏某元素,Vue环境)
- Promise - (七)初识async&await
- 浅谈php处理后端&接口访问超时的解决方法