÷÷请问:如何将GetLastError()返回的错误代码转换成字符串,啊?谢谢!÷÷

IceWall 2001-12-16 10:36:41
...全文
487 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluekite 2001-12-16
  • 打赏
  • 举报
回复
remember :
If you specify FORMAT_MESSAGE_ALLOCATE_BUFFER in the FormatMessage(), then you must free the memory allocated --> LocalFree( MessageBuffer );
masterz 2001-12-16
  • 打赏
  • 举报
回复
void ShowSystemError()
{//Show error message of GetLastError()
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );
}
bluekite 2001-12-16
  • 打赏
  • 举报
回复
oh..... i came here late...
xiaoxiaohan 2001-12-16
  • 打赏
  • 举报
回复
// -----------------------------------------------------------------------------
// File Name : VCTools.cpp
// Author : Yao Li Jun
// -----------------------------------------------------------------------------

#include "stdafx.h"
#include "VCTools.h"

// -----------------------------------------------------------------------------
// [Function Name]
// GetErrorMessage
// [Outline]
// Get error message from error code.
// The function should search the system message-table resource
// for the requested message.
// [Resume]
// Create 2001/11/17 Yao Li Jun
// [Parameters]
// dwErrCode Win32 error codes
// dwLanguageId The language identifier for the requested message.
// By default,the function use user default language.
// [Return Values]
// If the function succeeds, the return value is pointer to a buffer.
// If the function fails, the return value is NULL.
// [Example Code]
// DWORD dwErrCode = 0;
// LPSTR MessageBuffer = NULL;
//
// dwErrCode = GetLastError( );
// MessageBuffer = GetErrorMessage( dwErrCode );
// if ( MessageBuffer != NULL )
// {
// MessageBox( NULL, MessageBuffer, "Error Message Box", MB_OK );
// }
// LocalFree( MessageBuffer );
// -----------------------------------------------------------------------------
PTSTR GetErrorMessage( DWORD dwErrCode, DWORD dwLanguageId )
{
DWORD dwRet = 0;
PTSTR szResult = NULL;

dwRet = FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dwErrCode,
dwLanguageId,
( PTSTR )&szResult,
0,
NULL );
if ( dwRet == 0 )
{
szResult = NULL;
}

return szResult;
}
xiaoxiaohan 2001-12-16
  • 打赏
  • 举报
回复
// -----------------------------------------------------------------------------
// File Name : VCTools.h
// Author : Yao Li Jun
// -----------------------------------------------------------------------------

#ifndef __VCTOOLS_H__
#define __VCTOOLS_H__

// -----------------------------------------------------------------------------
// Function List
// GetErrorMessage : Get error message from error code.
// 2001/11/17/
// -----------------------------------------------------------------------------


PTSTR GetErrorMessage( DWORD,
DWORD = MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ) );

#endif // __VCTOOLS_H__
kimryo 2001-12-16
  • 打赏
  • 举报
回复
看MSDN上的FormatMessage函数。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧