#include包含这个头文件就可以使用errno这个错误码了,一般在库调用或者系统调用时,当出错就会把相应的错误码写到errno中。如果没错的话就不会去修改errno。所以可以根据errno来判断究竟是在哪一步出问题了。经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。
二、 把errno的数字转换成相应的文字说明
1、 使用strerror函数
函数原型:
char * strerror(int errno)使用方法:
fprintf(stderr, "%s", strerror(errno));通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。
2、 使用perror函数
函数原型:
void perror(const char *s)使用说明
参数s指定的字符串是要先打印出来的信息,可以由我么自己定义,然后系统会在s字符串后加上错误原因的字符串。
#defineEPERM 1 /* Operation not permitted */操作不允许
#define ENOENT 2 /* Nosuch file or directory */文件/路径不存在
#define ESRCH 3 /* Nosuch process */进程不存在
#define EINTR 4 /*Interrupted system call */中断的系统调用
#define EIO 5 /* I/Oerror */I/O错误
#define ENXIO 6 /* Nosuch device or address */设备/地址不存在
#define E2BIG 7 /* Arglist too long */参数列表过长
#define ENOEXEC 8 /*Exec format error */执行格式错误
#define EBADF 9 /* Badfile number */错误文件编号
#define ECHILD 10 /*