GetLastError获取具体错误信息列子 C++
下面是一个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/dexS 著作权归作者所有。请勿转载和采集!