灵宝黑社会老大是谁:VC++中CString.Format函数的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 00:18:29
CString ss;
LONG a, b, c, d;

ss.Format("(%d,%d,%d,%d)",a,b,c,d);

怎么编译器会报错啊,说:
error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [14]' to 'const wchar_t *'
with
[
BaseType=wchar_t,
StringTraits=StrTraitMFC_DLL<wchar_t>
]
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

我试过把%d换成&i,%f,%l,都不行。
希望高手指点!

你当初创建程序的时候选择的不是MFC应用程序,而是ATL(活动模板库)程序,这两个库是不同的,所以才能看到ATL::这个提示。重新创建项目就可以了。

应该是%ld吧,和C不大一样,如果你的机器配置不是待烂,建议用VC.NET 2003 查一下MSDN

你的编译选项可能选择了Unicode的形式,你把编译方式选择为“Win32 Release”就可以了。应该是这个样子;

怀疑,我在6.0和2003下试了都没问题