当前位置: 代码迷 >> C语言 >> 这个代码可以获得GetLastError所对应的字符串
  详细解决方案

这个代码可以获得GetLastError所对应的字符串

热度:314   发布时间:2008-06-22 17:51:43.0
这个代码可以获得GetLastError所对应的字符串
#include <windows.h>
#include <stdio.h>
#include <tchar.h>

int main()
{
    DWORD nErrorNo; // 错误代码
    printf("请出入一个数字(错误号):\n");
    scanf("%u", &nErrorNo);
    LPSTR lpBuffer;
    FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
        FORMAT_MESSAGE_IGNORE_INSERTS |
        FORMAT_MESSAGE_FROM_SYSTEM,
        NULL,
        nErrorNo,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) & lpBuffer,
        0,
        NULL);

    printf("返回信息: %s\n", lpBuffer);
    return 0;
}
搜索更多相关的解决方案: GetLastError  字符  FORMAT  MESSAGE  代码  

----------------解决方案--------------------------------------------------------
虽然看不懂 不过非常支持!!顶!!!

会考完了吧。 我下了 去学校了 。。。。
----------------解决方案--------------------------------------------------------
这个是技术性地,看不懂也正常。多积累一点这样的经验吧
----------------解决方案--------------------------------------------------------
lpBuffer不用分配空间???


[color=white]
----------------解决方案--------------------------------------------------------
不用。系统为你分配了
我一开始也吓一跳,但是运行后完全正常
----------------解决方案--------------------------------------------------------
我记得这个空间是需要释放的。使用LocalFree函数。
这就是我为什么宁愿包含一个atlstr.h使用CString来Format,而不愿意自己写代码的原因。
总是要记忆那么多的细节。

PS flyue拿点有技术含量的东西出来行不?
----------------解决方案--------------------------------------------------------