我正在修改一个旧代码,其中使用了不推荐使用的sys_errlistsys_nerr。有人可以告诉我它的替代品吗?

如果有人告诉我们它的功能,那也将很棒。

这是代码:

37 static const char *
38 stringErrorReport(void)
39 {
40 #if ( defined(sgi) )
41         return strerror(oserror());
42 #elif ( defined(_AIX) )
43         return strerror(errno);
44 #else
45         if ( errno > 0 && errno < sys_nerr )
46                 return sys_errlist[errno];
47         else
48                 return "Unknown error.\n";
49 #endif
50 }

让我知道如何替换不推荐使用的sys_nerrsys_errlist[ ]

最佳答案

此函数是strerror()的包装器,并在假定strerror()不可用的系统上尝试提供它自己的替代品。如果sys_errlist和sys_nerr不可用,它也会失败。但它至少已经尝试过...

关于c - 需要在错误处理中替换不推荐使用的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7442107/

10-12 05:55