1. 头文件 <errno.h>( !errno 变量存在线程安全问题 !)
- 标准库中的一些函数通过向 <errno.h> 中声明的 int 类型 errno 变量存储一个错误码(正整数)来表示有错误发生。
- 假设我们需要使用一个库函数,该库函数通过给 errno 赋值来产生程序运行出错的信号。在调用这个函数之后,我们可以检查 errno 的值是否为零。如果不为零,则表示在函数调用过程中有错误发生。
举例来说,假如需要检查 sqrt 函数的调用是否出错,可以使用类似下面的代码:
// 初始化 errno 的值
errno = 0;
y = sqrt(x);
// 检查 errno 的值
if(errno != 0){
fprintf(stderr, "sqrt error: program terminated.\n");
exit(EXIT_FAILURE);
}