linxu中系统错误码errno

Posted weiyouqing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linxu中系统错误码errno相关的知识,希望对你有一定的参考价值。

Unix errno值、

  •   只要一个Unix函数(如,某个套接字函数)中有错误发生,全局变量errno就被设置为一个指明该错误类型的正直,函数本身则通过返回-1.
  •   errno的值只在函数发生错误时被设置,如果函数不返回错误,errno的值就没有定义。
  •   errno的所有证书错误值都是常值,具有以“E”开头的全大写字母名字,并通常在<sys/errno.h>头文件中定义,0值不表示任何错误;
  •   sys_errlist
#include <iostream>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <string.h> int main(int argc, char **argv) { int sockfd = 0; if ((sockfd = socket(0, SOCK_STREAM, 0)) < 0) { if (errno >= 0 && errno <= sys_nerr) printf("socket created, failed[%d], reason:%s ", errno, sys_errlist[errno]);
     printf("%s ",strerror(errno)); //头文件string.h内 }
else { printf("socket successful "); } return 0; }

输出结果:

socket created, failed[97], reason:Address family not supported by protocol
Address family not supported by protocol

 

以上是关于linxu中系统错误码errno的主要内容,如果未能解决你的问题,请参考以下文章

Linux 系统错误码 errno 剖析

errno 错误码

Linux errno错误码

TCP/IP 最常见的错误原因码 (errno)列表

TCP/IP 某些最常见的错误原因码 (errno)列表

错误码设计