星空网 > 软件开发 > 操作系统

APUE学习之出错处理

     当UNIX函数发生错误时,通常会返回一个负值,而且整形变量errno通常被设置为具有特定信息的值。
 
     errno是全局变量,仅当函数出错才有被改变。对待errno,应注意两条规则
          1:如果没有出错,其值不会被例程清除,也就是说,当且仅当函数出错时,马上检查errno的值才有意义。
          2:任何函数都不会将errno的值置为0。
 
     C标准定义了两个函数,用于打印出错信息:char *strerror(int errnum)和void perror(const char *msg)。
 
     strerror函数将errnum(通常就是errno的值)映射为出错消息字符串,并返回该字符串的指针。
     perror函数基于errno的当前值,在标准错误上产生一条出错消息然后返回。
 
例子:
     #include "apue.h"
     #include <errno.h>
 
     int main(int argc, char **argv)
     {
          fprintf(stderr, "EACCES: %s\n", strerror(EACCES));
          errno = ENOENT;
          perror(argv[0]);
          return 0;
     }
 
     ./a.out
     EACCES: Permission denied
     ./a.out: No such file or directory



原标题:APUE学习之出错处理

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

2018年12月亚马逊加拿大站背背佳( Back Braces)数据报告:https://www.ikjzd.com/articles/13339
一文帮你捋清Lazada物流方案及产品定价方式:https://www.ikjzd.com/articles/133390
Lazada2020年家居品类选品趋势分析:https://www.ikjzd.com/articles/133391
Lazada如何(逐个)批量上传产品完整版流程(下)-ASC产品批量创建:https://www.ikjzd.com/articles/133392
2020 Jumia BLACK FRIDAYS 开启!:https://www.ikjzd.com/articles/133393
不少卖家都想了解的shopify平台,究竟怎么样?:https://www.ikjzd.com/articles/133394
纽埃/Niue/纽埃国家:https://www.kjdsnews.com/a/1836525.html
海外网红营销:靠E-bike配件做出5亿销售额?Lamicall出海都做对了什么?:https://www.kjdsnews.com/a/1836526.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流