VS2005中的一个编译问题之UNICODE

我以前看的是VC++2003,现在用2005运行程序出了错误,请各位指教一下。
MouseDemoView.cpp
e:\c++.net\hwl\mousedemo\mousedemo\mousedemoview.cpp(109) : error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [26]”转换为“const wchar_t *”
         with
         [
             BaseType=wchar_t,
             StringTraits=StrTraitMFC_DLL<wchar_t>
         ]
         与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
e:\c++.net\hwl\mousedemo\mousedemo\mousedemoview.cpp(121) : error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [26]”转换为“const wchar_t *”
         with
         [
             BaseType=wchar_t,
             StringTraits=StrTraitMFC_DLL<wchar_t>
         ]
         与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
e:\c++.net\hwl\mousedemo\mousedemo\mousedemoview.cpp(132) : error C2039: “formt”: 不是“ATL::CStringT<BaseType,StringTraits>”的成员
         with
         [
             BaseType=wchar_t,
             StringTraits=StrTraitMFC_DLL<wchar_t>
         ]
生成日志保存在“file://e:\C++.net\hwl\mousedemo\mousedemo\Debug\BuildLog.htm”

解决办法

 

UNICODE转换问题,在VC2005中主要使用UNICODE编码,需要这样写:
strMemStat.Format(_T("%d"), 255);
在UNICODE或者ASCII编码都能使用。

你可能感兴趣的:(unicode)