在实际项目中,我们经常需要获取执行系统API错误的错误码,但我们普通的错误码并不敏感,所以需要将错误码转换成文本信息呈现.
直接贴代码:
string Lptstr2String(LPTSTR value)
{
string strRet("");
while(*value)
{
strRet += *value++;
}
return strRet;
}
string GetLastErrorInfo(const DWORD dwErrCode)
{
string strRet = "";
LPVOID lpBuffer = NULL;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dwErrCode,
LANG_NEUTRAL,
(LPTSTR) & lpBuffer, 0, NULL);
strRet = lpBuffer ? Lptstr2String((LPTSTR)lpBuffer) :
"Sorry, cannot find this error info.";
LocalFree (lpBuffer);
return strRet;
}