C语言 查看库函数执行失败原因
一、 errno 是什么
C语言提供了许多库函数方便我们使用。当一个库函数执行失败时候,可以查看errno对应的错误信息了解库函数执行失败准确原因。
errno:错误代码,一个int类型变量,在<errno.h>中定义,每个错误代码值对应一个错误信息字符串,任何库函数都可以将其值修改为不同于零的某个值,通常用于指示特定类别的错误信息
注意:只有当一个库函数执行失败时,才会设置errno。当库函数成功执行时,errno的值不会被修改。这意味我们不能通过测试errno的值判断是否有错误发生,而只有库函数执行失败时检查errno的值才有意义
二、 strerror函数
strerror函数功能:
打印错误代码对应的错误信息
库函数strerror函数声明char * strerror ( int errnum );
返回值:返回错误信息字符串的起始地址
errnum :错误代码值或errno
测试1:
1 |
|
输出
1 | No such file or directory |
测试2:
1 |
|
输出
1 | Operation not permitted |
三、 perror函数
perror函数功能:
打印errno对应的错误信息
库函数perror函数声明void perror ( const char * str );
str : 当str不是NULL指针并且指向一个非空的字符串,perror函数先打印这个字符串,后面跟一个冒号和一个空格,然后打印errno对应的错误信息
测试:
1 |
|
输出
1 | No such file or directory |