码迷,mamicode.com
首页 > 其他好文 > 详细

linxu中系统错误码errno

时间:2020-06-06 16:52:43      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:created   argc   ret   argv   string   sys   文件   types   类型   

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\n", errno, sys_errlist[errno]);
     printf("%s\n",strerror(errno)); //头文件string.h内 }
else { printf("socket successful\n"); } return 0; }

输出结果:

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

 

linxu中系统错误码errno

标签:created   argc   ret   argv   string   sys   文件   types   类型   

原文地址:https://www.cnblogs.com/weiyouqing/p/13055203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!