您的位置:首页 > 运维架构 > Linux

Linux、Windows下错误码查看与错误原因格式化输出

2010-12-03 13:42 344 查看
Windows下:

使用GetLastError()获得错误码,通过FormatMessage API获得错误码对应的出错信息,

HLOCAL pBuffer = NULL;                    //系统缓冲区指针

int nId = GetDlgItemInt(IDC_EDIT1);     //错误码

::FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_ALLOCATE_BUFFER,

NULL, nId, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), reinterpret_cast<LPTSTR>(&pBuffer), 0, NULL);

//MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)将出错信息的输出语言设为英文

//reinterpret_cast告诉编译器,把待转换的类型当作目标类型处理(实际上并不执行转换)

SetDlgItemText(IDC_REDIT, static_cast<LPTSTR>(::LocalLock(pBuffer)));

::LocalFree(pBuffer);  //释放系统缓冲区


Linux下:

#include <errno.h>

使用errno错误码,并通过strerror(errno)获得错误码对应的出错信息

参考http://blog.kingsamchen.com/archives/569
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: