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
广告
© . All rights reserved.