我们知道,在linux下,我们用errno来查看API返回的错误码,并用strerror(errno)来获得错误信息。
而在windows下也有这的错误码,可以用GetLastError 来获得,在windows下,要获得错误码对应的信息就没有linux下那么方便了。
其获得方式可以参考《windows核心编程》。
但我们也可以用linux下的api来获得windows下的错误信息,其条件就是把windows下的错误码转换成linux下相应的错误码,然后再调用
strerror(errno)来获得错误信息。
如果我们在windows下用cygwin来写程序,那么从windows下的API获得的错误吗,如果用linux下的函数strerror(errno)来显示的话,那么我们就要做一个win32错误码和linux下错误码的一个简单转换。
这个简单转换的函数如下:
那么,如果我们想输出错误信息,就可以这样了
虽然,不能获得完全准确的错误信息,但这个对于夸win32和linux的编程来说,至少可以省下一部分麻烦。