errno.h 详解

errno.h

简介

该头文件定义了通过错误码来回报错误资讯的宏。errno 宏定义为一个 int 型态的左值, 包含任何函式使用errno功能所产生的上一个错误码。

宏简介

EDOM

  • 说明:参数超出范围。

  • 例:sqrt(-1)

ERANGE

  • 说明:结果超出范围。

  • 例:strtol("0xfffffffff",NULL,0)

EILSEQ

  • 说明:不合法的字符顺序。

  • 例:字符串翻译 wcstombs(str, L"\xffff", 2)

errno.h 中定义的错误

#define EPERM        1  /* Operation not permitted */
#define ENOFILE      2  /* No such file or directory */
#define ENOENT       2
#define ESRCH        3  /* No such process */
#define EINTR        4  /* Interrupted function call */
#define EIO      5  /* Input/output error */
#define ENXIO        6  /* No such device or address */
#define E2BIG        7  /* Arg list too long */
#define ENOEXEC      8  /* Exec format error */
#define EBADF        9  /* Bad file descriptor */
#define ECHILD      10  /* No child processes */
#define EAGAIN      11  /* Resource temporarily unavailable */
#define ENOMEM      12  /* Not enough space */
#define EACCES      13  /* Permission denied */
#define EFAULT      14  /* Bad address */
/* 15 - Unknown Error */
#define EBUSY       16  /* strerror reports "Resource device" */
#define EEXIST      17  /* File exists */
#define EXDEV       18  /* Improper link (cross-device link?) */
#define ENODEV      19  /* No such device */
#define ENOTDIR     20  /* Not a directory */
#define EISDIR      21  /* Is a directory */
#define EINVAL      22  /* Invalid argument */
#define ENFILE      23  /* Too many open files in system */
#define EMFILE      24  /* Too many open files */
#define ENOTTY      25  /* Inappropriate I/O control operation */
/* 26 - Unknown Error */
#define EFBIG       27  /* File too large */
#define ENOSPC      28  /* No space left on device */
#define ESPIPE      29  /* Invalid seek (seek on a pipe?) */
#define EROFS       30  /* Read-only file system */
#define EMLINK      31  /* Too many links */
#define EPIPE       32  /* Broken pipe */
#define EDOM        33  /* Domain error (math functions) */
#define ERANGE      34  /* Result too large (possibly too small) */
/* 35 - Unknown Error */
#define EDEADLOCK   36  /* Resource deadlock avoided (non-Cyg) */
#define EDEADLK     36
/* 37 - Unknown Error */
#define ENAMETOOLONG    38  /* Filename too long (91 in Cyg?) */
#define ENOLCK      39  /* No locks available (46 in Cyg?) */
#define ENOSYS      40  /* Function not implemented (88 in Cyg?) */
#define ENOTEMPTY   41  /* Directory not empty (90 in Cyg?) */
#define EILSEQ      42  /* Illegal byte sequence */

你可能感兴趣的:(C,标准库)