errno.h 头文件

errno.h头文件包含了一系列错误代码,如EPERM、ENOENT等,这些代码在Linux C API函数出错时会被设置,用于帮助程序员诊断问题。本文汇总了常见的错误代码及其含义,便于在编程中进行调试和问题排查。
摘要由CSDN通过智能技术生成
注意: 只有当一个库函数失败时,errno才会被设置。当函数成功运行时,errno的值不会被修改。这意味着我们不能通过测试errno的值来判断是否有错误存在。反之,只有当被调用的函数提示有错误发生时检查errno的值才有意义。
查看 错误代码errno是调试程序的一个重要方法。当linux C api函数发生异常时,一般会将errno 变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。


以下来主要自2.6.32的内核代码中的/usr/include/asm-generic/errno.h及errno-base.h,输出错误原因定义归纳整理如下:
#define    EPERM         1    /* Operation not permitted */
  #define    ENOENT         2    /* No such file or directory */
  #define    ESRCH         3    /* No such process */
  #define    EINTR         4    /* Interrupted system call */
  #define    EIO         5    /* I/O error */
  #define    ENXIO         6    /* No such device or address */
  #define    E2BIG         7    /* Argument list too long */
  #define    ENOEXEC         8    /* Exec format error */
  #define    EBADF         9    /* Bad file number */
  #define    ECHILD        10    /* No child processes */
  #define    EAGAIN        11    /* Try again */
  #define    ENOMEM        12    /* Out of memory */
  #define    EACCES        13    /* Permission denied */
  #define    EFAULT        14    /* Bad address */
  #define    ENOTBLK        15    /* Block device required */
  #define    EBUSY        16    /* Device or resource busy */
  #define    EEXIST        17    /* File exists */
  #define    EXDE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值