关于errno头文件

errno != EEXIST

EEXIST的中文翻译是错误已经存在。

也就是说,最近一次系统调用的错误已经存在,可以用来做为判断条件。

例:

EEXIST 是个宏定义,是Error EXIST 的缩写,EXIST 是“存在”的意思。errno是个全局变量,在errno.h头文件中定义,用于保存错误码,方便根据错误码来查询出错原因。 这个mkfifo函数创建管道时,如果有已存在的同名管道,就会将errno赋值为EEXIST。erron != EEXIST,也就是判断mkfifo函数是否出现“已存在同名管道”的错误。if((mkfifo(FIFO_SERVER,O_CREAT|O_EXCL|O_RDWR)<0)&&(errno!=EEXIST))这段代码翻译成汉字描述就是:如果((mkfifo函数创建管道,返回值小于0),并且,(错误原因不是 “已存在同名管道”))。 上面更详细的解说是,如果我们用mkfifo()函数创建一个有名管道发生错误(发生错误返回值小于0),但是这个错误不是因为这个管道文件已经存在(有名管道存在再去创建是会出现失败的),而是因为其他原因,这个时候就可以把判断条件写成errno != EEXIST,它代表这个错误(管道文件)是不存在的,是一个新的错误,当然,这个新的错误会存放在errno中,因为上面说过,errno是保存最近一次的错误。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python @property的用法及含义全面解析

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    于小勇
  • 将png格式的图像转换为jpg

    于小勇
  • TensorFlow函数:tf.image.crop_to_bounding_box

    定义在:tensorflow/python/ops/image_ops_impl.py.

    于小勇
  • 1.电源管理-4种休眠方式状态

    张诺谦
  • 位图原理及实现 - 海量数据处理标配

    为什么要位图?上一篇里面有个例子,是这样的: 你要给1亿个int型数据去重(本篇不讲int以外的,int以外的等我学了布隆过滤器或者各位自行学习布隆过滤器之后...

    看、未来
  • 地铁调色,打造金属质感

    (1)首先还是根据照片,调整曝光等参数,让照片更自然。其实这部分做的事情,我认为是尽可能还原真实场景。

    罗罗攀
  • 一级指针简单理解

    在 C 中操作地址就可以操作值,就跟 java 中两个引用类型拿到引用可以操作内一个对象一样。

    潇洒
  • Nginx学习日志(四)自定义404,500,502,503等错误页面

    通常在项目当中会自定义项目的错误界面,当请求不对或者请求错误什么的就会返回一个对用户比较友好的提示界面。

    海加尔金鹰
  • Python学习之property

    Property函数创建了一个属性size,此时访问器函数被用做参数(先取值,再赋值)。尽管它们看起来像属性一样,但size的特性依旧取决于getSize和se...

    py3study
  • 遗传算法helloworld级别的python实现(结果可视化)

    kalifa_lau

扫码关注云+社区

领取腾讯云代金券