MSDNのRetrieving the Last-Error Codeのためのサンプルコードは、このコードを示していますLocalAllocに渡されるサイズに40が追加されたのはなぜですか?
StringCchPrintf((LPTSTR)lpDisplayBuf,
LocalSize(lpDisplayBuf)/sizeof(TCHAR),
TEXT("%s failed with error %d: %s"),
lpszFunction, dw, lpMsgBuf);
の後半で使用されている
私はが追加されていることを理由を正確に把握するのは非常に好奇心?
安全マージンはありますか?または、MicrosoftがStringCchPrintf
について教えてください。または、他の何か?
'dw 'の可能な数字のすべてにスペースが必要です。また、テキストメッセージ自体も必要です。 '40'はちょっと残酷すぎるかもしれないが、あまり多くはないかもしれない。 –
これは、学校のハードノックで教えられた練習です。誰かが文字列をローカライズする予定で、数字に注意を払うことを忘れないように保証されています。 StringCchPrintf()は常にトラブルから彼を保つが、ドイツでのバグレポートのために、まだいくつかのオッズます:) –