C++ GetLastError 函数获取具体错误信息示例
下面是一个 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 函数将错误代码转换为可读的错误消息,并将其输出到控制台。
原文地址: https://www.cveoy.top/t/topic/nDd0 著作权归作者所有。请勿转载和采集!