如何将CStringW转换为LPCWSTR?

时间:2016-06-03 07:10:26

标签: c++ mfc

我有一个使用CStringW从.rc文件中检索资源的函数。 我想在sprintf_s.中使用这个返回值吗?有什么办法吗?

//片段

So my above logic result does not align with C++ result for below case:-
 b1 = 106 ,  b2 = -1     c++ result = 150   and java = -150


 b1 =-6, b2 =   -1     506 in VC++ but -6 in java

However, if only first byte is negative then my result are similar :
b1 = -12 ,  b2 = 1     c++ result = 500   and java = 500

sprintf_s给我一个错误。有没有替代方案?

1 个答案:

答案 0 :(得分:0)

使用与CStringW::Format完全相同的sprintf_s。所以你的代码将成为:

CStringW sText;
sText.Format(LoadFromResource(IDS_INSTALLATION_COMPLETE), g_szProductName);

甚至

CStringW sText;
sText.Format(IDS_INSTALLATION_COMPLETE, g_szProductName);

您可以将CStringW直接传递给任何接受LPCWSTR类型参数的函数,因为它具有相应的强制转换运算符。