贴在这方便以后查看
但每次对表岂不麻烦,还好好在string.h中已经定义好了通过错误码得到说明的函数 strerror
以前做IO操作时,常常会得到一个errno_t,其实就是整数 typedef int errno_t;以下是VC的errno头文件,可以看出Error Code定义为一些整数值[cpp] view plain copy/*** *errno.h - system wide error numbers (set by system call
1. 内存操作函数
(int *)malloc(100*sizeof(int)); //#include<stdlib.h>
void *memcpy(void *destin, void *source, unsigned n);
void *memset(void *buffer, int c, int count)
2. 字符串操作函数
strlen...
errno
是全局变量,Linux中系统调用的错误都存储于
errno
中,
errno
由操作系统维护,存储就近发生的错误,即下一次的错误码会覆盖掉上一次的错误。
只有当系统调用或者调用lib函数时出错,才会置位
errno
!
二、错误码
1.Linux中,在
头文件
/usr/include/asm-generic/
errno
-base.h 对基础常用
errno
进行了宏定义
[root@Node_B build]# cat /usr/include/asm-generic/
errno
-base.h
errno
.h 是一个 C 语言标准库
头文件
,用于处理错误码(error code)。它定义了一个全局变量
errno
,该变量在程序中的一些函数调用发生错误时被设置,并通过宏定义了一些常用的错误码。
errno
.h 中定义的错误码是整数值,每个值表示一种特定的错误类型。当函数调用失败时,
errno
被设置为相应的错误码,以便程序能够根据错误码来处理错误情况。我们可以使用 perror() 或 strerror() 函数来获取更具体的错误信息。
下面是一些常见的
errno
.h 中定义的错误码:
- EPERM:操作不允许
- ENOENT:文件或目录不存在
- ESRCH:没有这样的进程
- EINTR:操作被中断
- EIO:I/O 错误
- ENXIO:没有这样的设备或地址
- E2BIG:参数列表太长
- ENOEXEC:执行格式错误的程序
- EBADF:文件描述符无效