首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VC.NET中有关CString.Format()的奇怪有关问题?

2012-02-17 
VC.NET中有关CString.Format()的奇怪问题??? inttempCStringstrstr.Format( %d ,temp)编译出错,提示

VC.NET中有关CString.Format()的奇怪问题???

int   temp;
CString   str;
str.Format( "%d ",temp);
编译出错,提示说:  
error   C2664:   “void   ATL::CStringT <BaseType,StringTraits> ::Format(const   wchar_t   *,...)”:   不能将参数   1   从“const   char   [3]”转换为“const   wchar_t   *”

编译环境:   VC.NET   2005

[解决办法]
str.Format(_T( "%d "),temp);

[解决办法]
因为VC.NET项目的字符集默认为 UNICODE,于是项目里的所有字符串都是宽字符串,而文字量还是char。所以文字量要用_T括起来。
我也刚用VC2005,感觉很奇怪的是默认项目里CString是ATL的模板实现,而是在VC6里的CString作为继承自CObject的一个独立功能类。

热点排行