Linux errno 错误对照表

errno 在 <errno.h> 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的 errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。

strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对照表:

01.#include <errno.h>

02.#include <string.h>

03.#include <stdio.h>

04.

05.int main()

06.{

07.    int i;

08.    for(i = 0; i < 140; ++i)

09.    {

10.        errno = i;

11.        printf("errno %d :\t\t%s\+n",i,strerror(errno));

12.    }

13.    return 0;

14.}

错误对照表:

errno0 : Success

errno1 : Operation not permitted

errno2 : No such file or directory

errno3 : No such process

errno4 : Interrupted system call

errno5 : Input/output error

errno6 : No such device or address

errno7 : Argument list too long

errno8 : Exec format error

errno9 : Bad file descriptor

errno10 : No child processes

errno11 : Resource temporarily unavailable

errno12 : Cannot allocate memory

errno13 : Permission denied

errno14 : Bad address

errno15 : Block device required

errno16 : Device or resource busy

errno17 : File exists

errno18 : Invalid cross-device link

errno19 : No such device

errno20 : Not a directory

errno21 : Is a directory

errno22 : Invalid argument

errno23 : Too many open files in system

更多精彩内容:http://www.bianceng.cn/Programming/cplus/

时间: 2024-12-30 04:16:22

Linux errno 错误对照表的相关文章

LINUX errno大全

查看错误代码errno是调试程序的一个重要方法.当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因.在实际编程中用这一招解决了不少原本看来莫名其妙的问题.比较麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了. 1-34号错误号是在内核源码的include/asm-generic/errno-base.h定义 35-132则是在inc

ls-关于linux命令错误消息重定向

问题描述 关于linux命令错误消息重定向 这条命令ls /home/ha/a | awk '{doSomething}' 我现在想做到这种效果,如果/home/ha/a目录不存在,将错误消息输出到特定文件,但是 这个错误消息我想插入一些自己的内容,比如时间. 我知道这样做 ls /home/ha/a 2>file | awk '{doSomething}',也可以将错误消息 输出到文件,但是,这个错误消息是系统产生的,没有我自己的内容.我的意思就是说我想在这个错误消息里插入一些自己的内容.不知

对系统安全之避免Linux管理错误的描述

以下的文章主要向大家讲述的是系统安全之避免Linux管理常见错误,以下就是具体方案的描述,希望在你今后的学习中会有所帮助.在实际操作中对于很多人来说,迁移到Linux是一件乐事.而对于另外一些人来说,这简直是 一场恶梦.尤其是对于一些刚步入Linux管理大门的管理员来说,如果不避免一些常见的错误,就容易给单位的网络或系统带来安全风险.对于许多人来说,迁移到Linux是一件乐事.而对于另外一些人来说,这简直是一场恶梦.尤其是对于一些刚步入Linux管理大门的管理员来说,如果不避免一些常见的错误,就

Linux errno

Linux/include/uapi/asm-generic/errno-base.h #ifndef _ASM_GENERIC_ERRNO_BASE_H #define _ASM_GENERIC_ERRNO_BASE_H #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #defi

避免Linux常见错误 保证系统安全

对于许多人来说,迁移到Linux是一件乐事.而对于另外一些人来说,这简直是一场恶梦.尤其是对于 一些刚步入Linux管理大门的管理员来说,如果不避免一些常见的错误,就容易给单位的网络或系统带来 安全风险.本文将为帮助这些新手们避免这些错误提供一些建议. 错误一:不经过严格审核,从多种渠道下载安装各种类型的应用程序 乍看起来,这也许是一个不错的主意.如果你在运行Ubuntu,你会知道包管理程序使用的是.deb软件 包.不过,你找到的许多应用程序是以源代码的形式提供的.没有问题吗?这些程序安装后也许

UC编程02-环境变量、errno错误查看函数

#include<stdio.h> #include<string.h> #include<stdlib.h> //extern char**envron; //第三个参数为环境表首地址 int main(int argc,char ** argv,char **env){ extern char** environ;//外部全局变量,不改动 char **p=environ; //输出所有环境变量 /* while(*p!=NULL){ printf("%s

linux 分区错误怎么解决?

给我通电话后,我果断先让他把系统分区完,数据盘分区先部分,等进入系统后我远程来看问题.再他不分数据盘后系统正常安装完了跟我远程我发现的问题. 很长字符串为真实RAID卡认出的磁盘,实际的两个磁盘 为 /dev/sda /dev/sdb 是不能挂载操作的.上来我先给他 分区试试,结果报错: WARNING: Re-reading the partition table failed with error 22: 无效的参数. The kernel still uses the old table.

svn错误对照表

#, c-format msgid "Destination '%s' is not a directory" msgstr "目的 "%s" 不是目录" #, c-format msgid "Destination '%s' already exists" msgstr "目的 "%s" 已存在" #, c-format msgid "Can't read directory

linux常见错误解答汇总

1."警告:隐式声明与内建函数'malloc'不兼容"或"警告:隐式声明与内建函数'free'不兼容" 解决方法:加入#include<stdlib.h>即可. 2.错误:expected expression before '<' token 解决方法:将'a'=<*q改写为*q>='a'即可.