摘要:
下面使用errno进行错误处理是错误的。 /*调用库函数*/if (errno) /*处理错误*/原因:上面代码的意图是,调用库函数失败,则会设置非零errno,从而进行错误处理;调用成功,则不进行错误处理。问题是,即使调用成功,也没有强制要求将errno设置为0,即虽然调用库函数成功,但是errno并不一定为0,可能是在调用库函数之前errno就被设置为非零值了。下面代码仍然是错误的。errno = 0;/*调用库函数*/if (errno) /*处理错误*/原因:这段代码在调用库函数之前将errno设置为0,表面上看,如果调用库函数成功,则不会处理错误。问题在于,即使调用库函数成功,err 阅读全文