我的意思是:http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx
以下是每个错误的三个数据:
0 (0x0)
ERROR_SUCCESS
The operation completed successfully.
1 (0x1)
ERROR_INVALID_FUNCTION
Incorrect function.
2 (0x2)
ERROR_FILE_NOT_FOUND
The system cannot find the file specified.
因此,错误编号从GetLastError()返回,我也知道如何使用FormatMessage http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351(v=vs.85).aspx获取描述。但我的问题是如何获取这些错误标志:ERROR_INVALID_FUNCTION,ERROR_FILE_NOT_FOUND - 作为字符串。我知道我可以自己创建一个地图,但是我想知道这些是否已经存储在Windows中的某个地方,就像错误描述一样。
[OT]这里是错误描述的摘录。
char *err_msg;
int num_chars = FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
errCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // default language
(LPTSTR) &err_msg,
0,
NULL
);
答案 0 :(得分:3)
Windows中没有内置此类方法。
#define标识符特定于C和C ++语言,不用于例如C#。另外需要注意的是,根据所使用的API,相同的错误代码可以有多个不同的#define,例如ERROR_INVALID_HANDLE(Win32)和WSA_INVALID_HANDLE(Winsock)。