Я пытаюсь построить строку из подстроки, которая приходит из сообщения об ошибке:
// the error message
const char* error_msg = e.what();
size_t const cchDest = 100;
TCHAR pszDest[cchDest];
LPCTSTR pszFormat = TEXT("%s %s");
TCHAR* pszTxt = TEXT("The error is: ");
HRESULT hr = StringCchPrintf(pszDest, cchDest, pszFormat, pszTxt, error_msg );
Я надеялся, что второй %s
будет заменено значением error_msg
, однако вывод:
The error is: ☐☐a
Как мне изменить вышеприведенный код, чтобы подстрока отображалась?
EDIT1
Я также попробовал следующее, но все, что я получаю, это коробка снова.
TCHAR* pszTxt = TEXT("The error is: %c", error_msg );
HRESULT hr = StringCchPrintf(pszDest, cchDest, pszTxt);
Это работает:
LPCTSTR pszFormat = TEXT("%s %hs");
TCHAR* pszTxt = TEXT("The error is: ");
HRESULT hr = StringCchPrintf(pszDest, cchDest, pszFormat, pszTxt, error_msg);
Других решений пока нет …