您的位置:首页 > 其它

GetLastError 返回错误码 转换到 文本

2016-05-15 14:08 405 查看
https://msdn.microsoft.com/en-us/library/ms680582(v=vs.85).aspx

MSDN 上的例程,我简化一下

成功的话

控制台应该会输出 操作成功完成

#include <windows.h>
#include <iostream>
#include <string>
using namespace std;

//得到错误码的文本信息
string GetLastErrorToString(DWORD errorCode)
{
//因为FORMAT_MESSAGE_ALLOCATE_BUFFER标志,这个函数帮你分配内存,所以需要LocalFree来释放

char *text;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&text, 0, NULL);
string result(text);    //结果
LocalFree(text);
return result;
}

int main()
{
DWORD errCode = 0;    //假设错误码是 0
cout << GetLastErrorToString(errCode);
system("pause");     //暂停一下
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: