visual-c – 使用CString :: Format时如何防止C6284?

前端之家收集整理的这篇文章主要介绍了visual-c – 使用CString :: Format时如何防止C6284?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下代码在MSVC 2008上使用/ analyze编译时生成警告 C6284:在调用函数时需要字符串时,对象作为参数’%s’传递.
CString strTmp,str;
 str = L"aaa.txt"
 strTmp.Format (L"File: %s",str);

我正在寻找一个不需要static_cast的好解决方

解决方法

Microsoft描述了CString与变量参数函数 here用法
CString  kindOfFruit = "bananas";
int      howmany = 25;
printf_s( "You have %d %s\n",howmany,(LPCTSTR)kindOfFruit );

作为替代方案,您还可以使用方法PCXSTR CString :: GetString()const;尝试修复警告:

CString strTmp,str;
str = L"aaa.txt"
strTmp.Format (L"File: %s",str.GetString());

猜你在找的C&C++相关文章