- C 标准库
- C 库 - 主页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 实用资源
- C 库 - 讨论
C 库 - errno 宏
如果出现任何错误,extern int 类型的 C 库 errno 宏由系统调用和一些库函数设置,以指示是否出错。
每当任何特定函数遇到错误时,系统调用会自动通过此宏调用,并用于报告程序中的错误情况。
以下是 C 程序中发生的错误列表 −
- 文件 I/O 错误(例如,未找到文件,拒绝访问权限)
- 内存分配失败(例如,malloc() 返回 NULL)
- 无效函数参数(例如,传递无效文件)
- 与数学相关的错误(例如,除以零)
- 与网络相关的错误(例如,套接字错误)
语法
以下是 errno 宏的 C 库语法 −
extern int errno
参数
这不是一个函数。因此,它不接受任何参数。
返回值
不返回任何值。
示例 1
以下是显示其演示的 C 库基本宏 errno。
#include <stdio.h>
#include <errno.h>
#include <string.h>
extern int errno ;
int main () {
FILE *fp;
fp = fopen("file.txt", "r");
if( fp == NULL ) {
fprintf(stderr, "Value of errno: %d\n", errno);
fprintf(stderr, "Error opening file: %s\n", strerror(errno));
} else {
fclose(fp);
}
return(0);
}
输出
编译以上代码将产生以下结果,其中文件名 file.txt 不存在 −
Value of errno: 2 Error opening file: No such file or directory
广告