列出所有有效的strerror串值
来源:互联网 发布:电力数据网接入设备 编辑:程序博客网 时间:2024/06/05 14:25
序
正在看闲书, 看到strerror时, 想写个demo看看所有的错误信息列表.
在linux中man errono, 看到的值是错误值的宏和错误消息字符串, 本来想将错误值的宏和错误消息串整完了, 做个数组以后用, 一想用处好像也不大. 就将全部错误串打出来看看就好.
实验
// @file 1_P12.cpp// @brief list dir#include <stdlib.h>#include <stdio.h>#include <string.h>#include <string> // for std::string#include <sys/types.h>#include <dirent.h>#include <unistd.h>#include <error.h>int main(int argc, char** argv){ int i = 0; int i_unknown_cnt = 0; std::string str_tmp = ""; printf(">> 1_P12\n"); for(i_unknown_cnt = 0, i = 0; (i >= 0) && (i_unknown_cnt < 100); i++) { str_tmp = strerror(i); if (NULL == strstr(str_tmp.c_str(), "Unknown error")) { printf("errno = %4d : %s\n", i, str_tmp.c_str()); } else { i_unknown_cnt++; } } printf("------------------------------------------------------------\n"); for(i_unknown_cnt = 0, i = -1; (i < 0) && (i_unknown_cnt < 100); i--) { str_tmp = strerror(i); if (NULL == strstr(str_tmp.c_str(), "Unknown error")) { printf("errno = %4d : %s\n", i, str_tmp.c_str()); } else { i_unknown_cnt++; } } printf("END\n"); exit(0);}/** run result[root@localhost dev]# ./1_P12 >> 1_P12errno = 0 : Successerrno = 1 : Operation not permittederrno = 2 : No such file or directoryerrno = 3 : No such processerrno = 4 : Interrupted system callerrno = 5 : Input/output errorerrno = 6 : No such device or addresserrno = 7 : Argument list too longerrno = 8 : Exec format errorerrno = 9 : Bad file descriptorerrno = 10 : No child processeserrno = 11 : Resource temporarily unavailableerrno = 12 : Cannot allocate memoryerrno = 13 : Permission deniederrno = 14 : Bad addresserrno = 15 : Block device requirederrno = 16 : Device or resource busyerrno = 17 : File existserrno = 18 : Invalid cross-device linkerrno = 19 : No such deviceerrno = 20 : Not a directoryerrno = 21 : Is a directoryerrno = 22 : Invalid argumenterrno = 23 : Too many open files in systemerrno = 24 : Too many open fileserrno = 25 : Inappropriate ioctl for deviceerrno = 26 : Text file busyerrno = 27 : File too largeerrno = 28 : No space left on deviceerrno = 29 : Illegal seekerrno = 30 : Read-only file systemerrno = 31 : Too many linkserrno = 32 : Broken pipeerrno = 33 : Numerical argument out of domainerrno = 34 : Numerical result out of rangeerrno = 35 : Resource deadlock avoidederrno = 36 : File name too longerrno = 37 : No locks availableerrno = 38 : Function not implementederrno = 39 : Directory not emptyerrno = 40 : Too many levels of symbolic linkserrno = 42 : No message of desired typeerrno = 43 : Identifier removederrno = 44 : Channel number out of rangeerrno = 45 : Level 2 not synchronizederrno = 46 : Level 3 haltederrno = 47 : Level 3 reseterrno = 48 : Link number out of rangeerrno = 49 : Protocol driver not attachederrno = 50 : No CSI structure availableerrno = 51 : Level 2 haltederrno = 52 : Invalid exchangeerrno = 53 : Invalid request descriptorerrno = 54 : Exchange fullerrno = 55 : No anodeerrno = 56 : Invalid request codeerrno = 57 : Invalid sloterrno = 59 : Bad font file formaterrno = 60 : Device not a streamerrno = 61 : No data availableerrno = 62 : Timer expirederrno = 63 : Out of streams resourceserrno = 64 : Machine is not on the networkerrno = 65 : Package not installederrno = 66 : Object is remoteerrno = 67 : Link has been severederrno = 68 : Advertise errorerrno = 69 : Srmount errorerrno = 70 : Communication error on senderrno = 71 : Protocol errorerrno = 72 : Multihop attemptederrno = 73 : RFS specific errorerrno = 74 : Bad messageerrno = 75 : Value too large for defined data typeerrno = 76 : Name not unique on networkerrno = 77 : File descriptor in bad stateerrno = 78 : Remote address changederrno = 79 : Can not access a needed shared libraryerrno = 80 : Accessing a corrupted shared libraryerrno = 81 : .lib section in a.out corruptederrno = 82 : Attempting to link in too many shared librarieserrno = 83 : Cannot exec a shared library directlyerrno = 84 : Invalid or incomplete multibyte or wide charactererrno = 85 : Interrupted system call should be restartederrno = 86 : Streams pipe errorerrno = 87 : Too many userserrno = 88 : Socket operation on non-socketerrno = 89 : Destination address requirederrno = 90 : Message too longerrno = 91 : Protocol wrong type for socketerrno = 92 : Protocol not availableerrno = 93 : Protocol not supportederrno = 94 : Socket type not supportederrno = 95 : Operation not supportederrno = 96 : Protocol family not supportederrno = 97 : Address family not supported by protocolerrno = 98 : Address already in useerrno = 99 : Cannot assign requested addresserrno = 100 : Network is downerrno = 101 : Network is unreachableerrno = 102 : Network dropped connection on reseterrno = 103 : Software caused connection aborterrno = 104 : Connection reset by peererrno = 105 : No buffer space availableerrno = 106 : Transport endpoint is already connectederrno = 107 : Transport endpoint is not connectederrno = 108 : Cannot send after transport endpoint shutdownerrno = 109 : Too many references: cannot spliceerrno = 110 : Connection timed outerrno = 111 : Connection refusederrno = 112 : Host is downerrno = 113 : No route to hosterrno = 114 : Operation already in progresserrno = 115 : Operation now in progresserrno = 116 : Stale file handleerrno = 117 : Structure needs cleaningerrno = 118 : Not a XENIX named type fileerrno = 119 : No XENIX semaphores availableerrno = 120 : Is a named type fileerrno = 121 : Remote I/O errorerrno = 122 : Disk quota exceedederrno = 123 : No medium founderrno = 124 : Wrong medium typeerrno = 125 : Operation cancelederrno = 126 : Required key not availableerrno = 127 : Key has expirederrno = 128 : Key has been revokederrno = 129 : Key was rejected by serviceerrno = 130 : Owner diederrno = 131 : State not recoverableerrno = 132 : Operation not possible due to RF-kill------------------------------------------------------------END*/
# @file build.shecho offPROG_NAME=1_P12clearecho building begin...rm *.og++ -Wall --std=c++98 -g -I. -c ./$PROG_NAME.cpp -o ./$PROG_NAME.og++ -Wall --std=c++98 -g -I. $PROG_NAME.o -lstdc++ -pthread -lpthread -lrt -ldl -o $PROG_NAMEecho building END
阅读全文
0 0
- 列出所有有效的strerror串值
- 列出所有的索引
- linux列出所有的服务
- 列出字符串的所有排列
- 列出本机所有的Ip
- 列出数据库中所有的表名
- 列出所有已安装的perl模块
- 列出某个目录下的所有文件
- 列出数据库中所有的表名
- 列出所有重复记录的SQL
- 如何列出所有的空目录?
- 列出某数所有的加法式
- 怎样列出Access所有的表名?
- 列出用户A的所有进程
- 列出所有工作表的名称
- 列出所有最近使用的工作簿
- 列出磁盘下的所有文件
- java 递归列出所有的目录
- C#:params类型参数
- Java 游戏服务器学习 初章
- centos7 装机后的基本配置
- winrar加密分析
- GC工作原理
- 列出所有有效的strerror串值
- robotframework
- PL/SQL(或者说是Oracle)错误ORA-00972:标识符过长
- beautifulsoup4函数使用学习
- Drupal ajax html和bootstrap dropdown button的事件机制
- 48. Rotate Image
- QT5容器遍历
- Spring Boot 入门
- QT 程序完全打开前的开启画面