博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 “Unicode 字符集 ” 使用错误,应该使用 “使用多字节字符集”
阅读量:6298 次
发布时间:2019-06-22

本文共 1256 字,大约阅读时间需要 4 分钟。

“void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [29]”

出现上面的问题,应该使用多字节字符集

 

案例地址,

问题:

“void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)

CString strDate,strTime; 	SYSTEMTIME st;                         //获取本地时间 	GetLocalTime(&st); 	strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay); 	strTime.Format("【%4d:%2d:%2d】",st.wHour,st.wMinute,st.wSecond); 	GetDlgItem(IDC_STATIC_Time)->SetWindowText(strDate + strTime); 	SetTimer(1,1000,NULL); 	return TRUE; error C2664: “void ATL::CStringT
::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [12]”转换为“const wchar_t *” 1>生成失败。 回答:
你用的是VC2005或者更高的版本吧? VC2005及更高版本默认使用Unicode字符集,CString里存的是宽字符,也就是wchar_t,而不再是char。你可以这么写: strDate.Format(_T("%4d-%2d-%2d"),st.wYear,st.wMonth,st.wDay); strTime.Format(_T("%4d:%2d:%2d"),st.wHour,st.wMinute,st.wSecond); 以后写程序的时候,定义字符串变量,不要用char*,而用TCHAR*。所有字符串常量,不要直接用"",而要用_T("")。举个例子: TCHAR* str = _T( "Hello, World" ); MessageBox( _T( "Hello" )); 当然,我上面说的是在MFC里面。写控制台程序的话,就不用了。
 
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5379248.html
,如需转载请自行联系原作者
你可能感兴趣的文章
ssh隧道 学习总结
查看>>
resin安装与配置
查看>>
每天一个linux命令-touch
查看>>
gdb跟踪堆栈
查看>>
我的友情链接
查看>>
【RHCE学习笔记】基于安全的NFS认证(kerberos)
查看>>
RPM包安装LAMP及httpd虚拟机SSL实现
查看>>
[Hadoop] Error: JAVA_HOME is not set
查看>>
Hibernate一对一关联映射配置
查看>>
实验三
查看>>
Profiler 使用说明
查看>>
连接mysql数据库,创建用户模型
查看>>
Truncate a string
查看>>
(素材源码)猫猫学IOS(十六)UI之XIB自定义Cell实现团购UI
查看>>
Alpha冲刺总结随笔
查看>>
Python 学习日记5
查看>>
[NIOS] 如何Erase EPCS flash內容
查看>>
JS对象的创建
查看>>
验证文件切分实验
查看>>
【Python】卸载完Python3 之后 Python2 无法打开IDLE
查看>>