下面是一个 C++ 的示例代码,演示了如何使用 GetLastError 函数获取具体的错误信息:

#include <windows.h>
#include <iostream>

int main()
{
    HANDLE hFile = CreateFile('nonexistent.txt', GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile == INVALID_HANDLE_VALUE)
    {
        DWORD dwError = GetLastError();
        LPVOID lpMsgBuf;
        FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
            NULL, dwError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL);
        std::cout << "Error: " << dwError << " - " << (LPCTSTR)lpMsgBuf << std::endl;
        LocalFree(lpMsgBuf);
    }
    return 0;
}

在这个示例中,我们尝试打开一个不存在的文件,如果打开失败,我们使用 GetLastError 函数获取错误代码,然后使用 FormatMessage 函数将错误代码转换为可读的错误消息,并将其输出到控制台。

C++ GetLastError 函数获取具体错误信息示例

原文地址: https://www.cveoy.top/t/topic/nDd0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录