エラーを記録する従来のWindowsアプリケーションがあります。どのような種類のエラーがスローされたのかを知ることは素晴らしいことですが、プロジェクトのソースコードを見つけた後、これはC++であり、C++の経験はほとんどありません。DWORDとLPCTSTRの連結
エラーコードはDWORD
で、ログ関数への入力はLPCTSTR
です。
コードは今、次のとおりです。
DWORD dwError;
dwError = SomeFunction();
if (dwError)
{
Log(_T("Something failed"));
}
は、だから私は、ログメッセージに入れdwError
の価値を持っていると思います。 C#の背景から私はLog(_T("Something failed (" + dwError + ")"));
を試しましたが、明らかにうまくいきませんでした。
また、LPCTSTR
の値を連結して読んでみました。私はいくつかのヒットを見つけましたが、彼らは非常に複雑に見えます。そして、私はこのレガシーコードのために何かに混ぜる方法を知らない。
dwError
をログメッセージの一部にするにはどうすればよいでしょうか。好ましくは16進表記です。
このようなメッセージは、プログラムの多くの場所で必要になる場合があります。あなたはvar関数を受け入れるようにLog関数を拡張することを考えます: 'Log(PTCHAR szMesage、...);'これを 'vstprintf'で一度実装します(http://www.cplusplus.com/reference/cstdio/vsprintf/ )。現在のケースの関数を 'Log(_T("何か失敗しました:%u ")、dwError);' – harper