打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VS2017 MFC编译CString str; str.Format(....)出错,提示error C2664……
错误 1  error C2664: “void ATL::CStringT::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [12]”转换为“const wchar_t *” 

这个错误即是当我们用

CString str;str.Format(....)

  的时候出现的,这个还是一个编码问题...

VS2010中,编写MFC应用程序时,项目->属性-配置属性-常规-字符集-多字节字符集  解决问题

VC2005及更高版本默认使用Unicode字符集,CString里存的是宽字符,也就是wchar_t,而不再是char。


也可以使用

strDate.Format(_T("M----"),st.wYear,st.wMonth,st.wDay);
strTime.Format(_T("M:-:-"),st.wHour,st.wMinute,st.wSecond);

_T _TEXT 宏可适应 UNICODE 和非UNICODE 环境

定义字符串变量,不要用char*,而用TCHAR*。所有字符串常量,不要直接用"",而要用_T("")。举个例子:
TCHAR* str = _T( "Hello, World" );
MessageBox( _T( "Hello" ));

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Unicode 和多字节字符集 (MBCS) 支持
LPWSTR,LPCTSTR,LPTSTR
(const) char *转CString 详解(字符串类型转换详解,不断补充)
【整理】Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、...
有关VC中的字符以及字符串Tchar,char,wchar
利用CString和CStringA方便地进行UNICODE字符串和ANSI字符串的转换
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服