问题描述
形式如下:doublenum=100.;CStringstrt;strt.Format("%.2f",num);为什么在vc2005下编译出问题:errorC2664:“voidATL::CStringT<BaseType,StringTraits>::Format(constwchar_t*,...)”:不能将参数1从“constchar[5]”转换为“constwchar_t*”请问是怎么回事,如何处理谢谢
解决方案
解决方案二:
在项目属性里面设置一下“字符集”属性试试!
解决方案三:
可能是字符集的问题,VC2005默认使用Unicode,而VC6下使用的是ANSI。
解决方案四:
strt.Format(_T("%.2f"),num);试试这个!
解决方案五:
对,strt.Format(_T("%.2f"),num);用这个。
解决方案六:
是Unicode和ANSI的区别,使用中你还会发现还有很多地方不同与VC6,如果需要使用到VC6编写的动态库,这两个函数经常要用到WideCharToMultiByte()和MultiByteToWideChar()。
解决方案七:
这个问题是因为vs2005字符集的问题,解决的方法有两个,第一个是更改项目配置属性中的常规选项卡,找到字符集,更改成未设置;或者是加上_T()转义符
时间: 2024-11-22 20:44:10