范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

一个不该被遗忘的打印接口

  我们大多都使用printf来打印一些信息,其它的接口都比较少用。这里介绍一个被我们遗忘的打印输出函数: perror函数 。perror函数简介
  perror(s) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno的值来决定要输出的字符串。
  在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你调用"某些"函数出错时,该函数已经重新设置了errno的值。perror函数只是将你输入的一些信息和errno所对应的错误一起输出。
  下面通过例子看一下使用printf与使用perror的区别:
  (1)使用printf的例子:/* 公众号:嵌入式大杂烩 */ #include  int main(void) {     FILE *fp;     fp = fopen("/home/book/test_file", "r+");     if (NULL == fp)     {         printf("fopen error! ");     }          return 0; }
  此时,我们本地的/home/book/路径下并没有test_file文件,编译运行就会输出错误信息:(2)使用perror的例子:/* 公众号:嵌入式大杂烩 */ #include #include  #include   int main(void) {     FILE *fp;     fp = fopen("/home/book/test_file","r+");     if (NULL == fp)     {         perror("fopen error");     }     return 0; }
  同上,编译运行。此时会输出错误信息:
  可以看到,使用perror能多输出点详细信息。
  前面说了,错误原因依照全局变量errno中。换句话说就是一些全局变量errno保存的就是一些错误代码。我们可以看到在一些比较系统的代码/工程中,常常会设计一些错误代码,方便统一管理。
  在Linux内核(我这里的内核版本是4.9.88)中,这些系统错误代码在文件 include/uapi/asm-generic/errno-base.h  及 include/uapi/asm-generic/errno.h  中:
  这些错误代码后面有一些描述注释,这些描述也不仅仅是作为注释使用,也有与这些错误代码建立一一对应的字符串输出关系,比如:
  所以才有了上例的No such file or directory 的输出。
  除此之外,我们也可以不去阅读代码,而是通过 errno  工具来查询这些错误代码及描述。
  我们可以输入errno 命令看看有没有errno工具,如果没有,则会提示安装:
  使用errno -l 命令查看系统错误代码及描述:
  以上就是本次的分享,如有错误,欢迎指出!谢谢
  1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。私信回复 1024,即可免费获取!

智能洗衣新选择云米互联网洗烘一体机NEO(智能投放版)云米互联网洗烘一体机(智能投放版)当前,对于大部分朋友来讲,洗烘一体机依然是家庭日常洗衣的理想选择。高房价的今天,原本作为晾晒空间的阳台,已经悄然转变为享受生活的理想区域,充足的阳性价比仍是杀手锏米家对开门冰箱评测米家冰箱,是米家大家电拼图的一大块,虽然来的晚,但同时来了四款产品,分别是十字开门对开门三开门和两开门,容量覆盖了160L到486L的范围,可以说绝大部分家庭都可以从其中选到适合自自己搞一套小米智能家居系统,需要怎么做呢?看了这篇你就会了目前花钱买服务的理念深入人心,人工费用的确是比较高也是实际情况,所以从服务价格来看,其实还是可以接受的,据我所知,小米的服务费还包括后期上门维护更换组件之类的,比组件坏了自己寄回去华为HiCar车机系统未来可期,长安奇瑞比亚迪等国产品牌纷纷加入互联网时代的到来,人工智能概念的加入,使得汽车制造业也掀起一场风暴。全球各大厂家发力新能源汽车的同时,智能化汽车也加入了议题。性能经济舒适这是以往我们对汽车追求的一贯目标,而如今,A股共有148只百元股A股共有148只百元股,其中两只为千元股。(以20210616收盘价统计)证券代码证券简称收盘价(元)600519。SH贵州茅台2,158。00688169。SH石头科技1,393尼日利亚车市现状二手车价格上涨消费者购买力下降据尼日利亚财经媒体Nairametrics统计,尼日利亚疫情全面爆发前一年(2019年三季度2020年二季度)进口二手车和摩托车总值1。28万亿奈拉(约合33。9亿美元),比上一年场景与自动化基础智能家居场景与自动化应用之一在之前的书稿中,我并没有非常详细的讲解场景与自动化,但是经过一些朋友和读者的反馈,我认为有必要把这部分再详细讲解一下,所以从现在开始,我会写一系列场景与自动化应用方面的文章,供大家小猫眼,大作为盾米智能猫眼评测近年来,随着智能家居的快速发展,作为其重要组成部分家庭安防领域进展迅速,各种家庭安防的新产品层出不穷。在公寓型住宅普及的国内,智能猫眼就成了家庭安防方面存量巨大且必不可少的市场,具日常场景与照明联动场景智能家居场景与自动化应用之二本篇主要讲解日常场景和照明联动场景。为了方便大家,我这里尽量用例子来呈现,这样大家可以直接在例子的基础上增减即可打造自己的场景和自动化了。受限于个人水平,部分场景和联动可能考虑的不可靠性提醒类和节能类联动智能家居场景与自动化应用之五可靠性联动可靠性联动指的是通过联动来提高系统的可靠性,例如自动关窗器位置监测类联动。可靠性是智能家居必备的一个特性,但是可靠性是相对的,不是绝对的,任何情况下,都只能是相对可靠,没React并发功能体验前端的并发模式已经到来React是一个开源JavaScript库,开发人员使用它来创建基于Web和移动的应用程序,并且支持构建交互式用户界面和UI组件。React是由Facebook软件工程师Jorda
日本的网购发达吗?不要再提什么网购不网购,什么网络支付,中国人均gdp,喝日本不能比,医疗,住房教育离日本也有很大的差距,人口素质耿没得比,当今中国,大部分中国人已经沉浸在网络支付第一,网购第一的自柳传志真的有问题吗?张捷爆了三十多期的料,司马南也揭了他几十期的老底,你觉得这两人有问题老柳不会报案,不会发法院传票票!别看似风平浪静,一但掀起风浪来就是暴风雨。张捷司马南两人一敲一打之间,如果是你,怎样利用微信小程序把客户资源变现?小程序在短短几年里突飞猛进,微信支付宝头条抖音等大平台都相继推出自己的小程序,以微信为例,基于微信庞大的用户群体,加上小程序即用即走轻量化的特性,备受用户喜欢与商家的追捧,据统计,用EasyRecovery恢复手残误删的文件相信很多人都有过这样的经历,各种课程设计论文报告众多,老师提出了一遍又一遍的修改意见,文件版本众多,一旦不小心误删除了文件,只能眼睁睁的看着自己辛辛苦苦编写的文件消失在电脑中,一切iPhone14Pro渲染图出炉,小刘海终于被砍掉,外观设计太有感觉文Dong审核子扬校对知秋2021年9月份,苹果正式推出的秋季新品iPhone13系列凭借着接地气的价格得到了一众果粉们的追捧与青睐,切实让消费者们感受到了13香。基于iPhone华为鸿蒙发布,为何国内还没有其他手机厂商采用,谈谈您的看法?我想有以下几种原因1,国内手机厂认为鸿蒙还不成熟,比如小米,OPPO等厂商都追求的是利润,他们害怕一旦鸿蒙出现闪失,影响他们手机的销售。2,小米,OPPO等厂商都是用高通骁龙芯片,情歌王子张信哲,被实名举报,你感觉震惊吗?昨天,我看到热搜有人实名举报张信哲为赌博平台代言,我感到相当震惊!。不过,这些我早已习以为常,只能说天下之大无奇不有,每天都有各种乱七八糟的事情在发生或正在发生。当然,具体情况还要为什么那么多人骂华为?美国以举国之力打击华为,他们的举国之力当然也包括舆论控制,这是其一另外一方面就是华为对友商合作伙伴的压力实在太大了,根本没有办法和华为直接竞争,人家骂一骂出口气也可以理解。另外还有雷军RedmiK50明年确定2月,MIUI13与天玑9000,上亿像素配置香大家应该知道,小米旗下有款红米手机非常受到大家欢迎,无论从颜值还是从出色的硬件性能和产品高性价比,非常受市场欢迎。对雷军来说,红米手机作为小米公司旗下的子品牌,重要程度不言而喻,小中国移动又有新动作发布算力网络白皮书倡议共创数智新未来玩虚拟货币的投资者,相信都听过算力这个词,在区块链中算力一般是指比特币挖矿机的算力,是你的挖矿机器在计算及网络处理能力方面的度量,算力就是挖矿机挖出比特币的能力,你的算力占全网算力中国人保财险成功签出新能源汽车保险保单12月27日0时,中国人保财险顺利签出新能源汽车保险保单,成为行业首批使用新条款承保新能源汽车保险业务的公司之一。新能源汽车保险是财险行业的一项产品创新。中国人保财险第一时间切换产