阅读:0
作者:严长生
<errno.h>头文件详解
<errno.h> 头文件中定义了几个与错误代码有关的宏。
程序在运行过程中会产生各种各样的错误,我们可以给每种类型的错误分配一个唯一的编号,就像给班里的学生分配学号一样,在C语言中,我们将此称为错误代码。
错误代码仅仅是一个数字,并没有额外的结构,要想获取具体的错误信息,一般有两种方案:
<errno.h> 头文件中有一个 errno 宏,它就用来存储错误代码,当系统调用或者函数调用发生错误时,就会将错误代码写入到 errno 中,再次读取 errno 就可以知道发生了什么错误。
另外,C语言标准规定,<errno.h> 中至少还要定义 EDOM、ERANGE、EILSEQ 几个宏,它们用来表示具体的错误代码(每个宏都会被展开为一个整数),具体的含义请转到 errno。
程序在运行过程中会产生各种各样的错误,我们可以给每种类型的错误分配一个唯一的编号,就像给班里的学生分配学号一样,在C语言中,我们将此称为错误代码。
错误代码仅仅是一个数字,并没有额外的结构,要想获取具体的错误信息,一般有两种方案:
- 使用 perror() 将错误信息(文本)打印到标准输出设备;
- 使用 strerror() 将错误代码转换成对应的文本信息。
<errno.h> 头文件中有一个 errno 宏,它就用来存储错误代码,当系统调用或者函数调用发生错误时,就会将错误代码写入到 errno 中,再次读取 errno 就可以知道发生了什么错误。
宏 | 说明 |
---|---|
errno | 最后的错误代码 |
另外,C语言标准规定,<errno.h> 中至少还要定义 EDOM、ERANGE、EILSEQ 几个宏,它们用来表示具体的错误代码(每个宏都会被展开为一个整数),具体的含义请转到 errno。