爲Retrieving the Last-Error Code MSDN上的代碼示例說明此代碼:爲什麼將40添加到傳遞給LocalAlloc的大小?
稍後用於
StringCchPrintf((LPTSTR)lpDisplayBuf,
LocalSize(lpDisplayBuf)/sizeof(TCHAR),
TEXT("%s failed with error %d: %s"),
lpszFunction, dw, lpMsgBuf);
我很好奇,想知道到底爲什麼這加入?
這是一些安全邊界嗎?或者微軟試圖告訴我們關於StringCchPrintf
的一些事情?或者是其他東西?
您需要爲'dw'的所有可能數字加上文本信息本身。 '40'可能有點矯枉過正,但不是太多。 –
這是一個在硬敲門學院教授的做法。有人將本地化字符串,並幾乎保證忘記注意數字。 StringCchPrintf()將始終讓他擺脫困境,但德國的bug報告仍然存在一些可能性:) –