如何将 CStringW 转换为 LPCWSTR



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

//片段

sprintf_s(szMsgBoxText, LoadFromResource(IDS_INSTALLATION_COMPLETE),  g_szProductName);

CStringW LoadFromResource(int ID)
{
    CStringW m_resoucestring(MAKEINTRESOURCE(ID));
    return m_resoucestring;
}

sprintf_s给我一个错误。这有什么选择吗?

使用与

sprintf_s完全相同的CStringW::Format。因此,您的代码将变为:

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

甚至

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

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

最新更新