在c中,当一些函数出错时,会有相应的errno,这是一个错误码,每个错误码对应一个错误描述,对于一些文件操作,socket操作,在打印错误信息时,附上这些错误码相应的信息对调试非常有帮助,围绕errno,有下面两个接口:
函数接口
#include <stdio.h>
extern int errno;
char * strerror(int errno)
void perror(const char *s)
- 第一个用来把errno转换成相应的错误信息
- 第二个函数是打印传入的参数到stderr,并附带errno相应的错误信息,其实就相当于
fprintf(stderr, "%s: %s", s, strerror(errno))
注意事项
errno其实是一个全局变量,在多线程环境使用时要注意,因为这个errno随时都有可能被其它线程修改。
Jacob Pan ( jacobpan3g.github.io/cn )