部分内容参考:https://www.douban.com/note/165931644/

在Linux的api中:

errno 是记录系统的最后一次错误代码。代码是一个int型的值,在errno.h中定义。

在程序代码中包含 #include <errno.h>,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量就可以获得失败原因了。

strerror可以通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。

需要引入 #include <string.h>

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<errno.h>
 4 #include<stdlib.h>
 5
 6 intmain(void)
 7 {
 8 FILE*fp;
 9 externinterrno;
10 char*message;
11 if(NULL==(fp=fopen("/dev/dsp","r+")))
12 {
13 printf("errno=%d\n",errno);
14 message=strerror(errno);
15 printf("Mesg:%s\n",message);
16 }
17 exit(0);
18 }19 输出:
20 error=2
21 Mesg:No such file or direcory

转载于:https://www.cnblogs.com/tshua/p/5730676.html

Linux上的errno和strerror相关推荐

  1. linux ping库函数,在Linux上用C++实现Ping

    首先我们在terminal上使用ping命令并用wireshark软件抓包,看看实现ping命令需要那些协议,以及ping的数据包由那些内容构成. ping.png catch_ping.png 用w ...

  2. linux c 追加写文件内容,如何在C中追加到文件,在Linux上使用O_APPEND模式打开?

    这是家庭作业的一部分.好吧,我的作业无法正常工作,所以我已经把一个片段拿出来并开始用它来弄清楚什么是错的. 在C语言的Linux上我试图打开/创建一个文本文件,给它写一些东西,关闭它,在读/写和追加模 ...

  3. linux malloc 线程,Linux上的侧线程的malloc/calloc崩溃

    我正在用C写一个服务器 - 客户端应用程序,共享一些信息.服务器以双线程模式工作 - 主线程等待输入,而侧线程响应客户端的请求.客户端也是这样工作的,但它等待用户输入(来自stdin),并且如果它接收 ...

  4. 使用Epoll 在 Linux 上开发高性能应用服务器

    epoll是Linux提供一种多路复用的技术,类似各个平台都支持的select,只是epoll在内核的实现做了更多地优化,可以支持比select更多的文件描述符,当然也支持 socket这种网络的文件 ...

  5. Linux上安装wkhtmltopdf,以及调试所遇到的问题

    1.首先,去wkhtmltopdf下载对应版本的Linux版本,地址如下:https://wkhtmltopdf.org/downloads.html 2.这里我服务器是centos 7,所以下载一个 ...

  6. linux编译测试代码,rtc在linux上的测试代码

    点击(此处)折叠或打开 rtc在linux上的测试代码 . rtc应用很广泛,在PC机和嵌入式上面几乎都能看到.下面就用最简单的代码做一个演示.相应的分析请看linux源代码中的分析文档.代码如下: ...

  7. linux文件描述符有什么用,linux上的文件描述符3有什么特别之处?

    我的工作,那将在Linux和Mac OS X上运行的服务器应用程序它是这样的:linux上的文件描述符3有什么特别之处? 启动主要应用 控制器进程的叉 调用lock_down()在控制过程中 再次叉终 ...

  8. 推荐一款不错的嵌入式GUI(玲珑GUI)及在嵌入式linux上的移植

    玲珑GUI介绍 玲珑GUI(LLGUI)是一套使用简单.低价的单片机GUI解决方案.可以用来代替串口屏.组态,降低产品成本,产品软硬件自主可控. 配套界面开发软件,图形化编辑界面,生成C代码. 如其名 ...

  9. 如何恢复 Linux 上删除的文件

    转自:http://blog.csdn.net/chinalinuxzend/article/details/2591694 如何恢复 Linux 上删除的文件 来源:developerWorks 中 ...

  10. 如何恢复 Linux 上删除的文件:ext2

    要想恢复误删除的文件,必须清楚数据在磁盘上究竟是如何存储的,以及如何定位并恢复数据.本文从数据恢复的角度,着重介绍了 ext2 文件系统中使用的一些基本概念和重要数据结构,并通过几个实例介绍了如何手工 ...

最新文章

  1. A16Z内部万字报告:人类与AI结合的最佳形态
  2. Django之orm补充
  3. 不用面部识别?亚马逊准备推出人手支付,0.3秒刷手支付
  4. 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)...
  5. vue3+TypeScript封装echarts5组件
  6. hive与hbase集成
  7. go语言var 和make_Var和语言设计
  8. IO_ADDRESS()的实现【转】
  9. ThinkPHP3(添加,修改,删除)
  10. Sql server安装时出现找不到vc_red.msi错误
  11. 为什么开源和企业用户是天生的盟友
  12. iptables学习笔记:使用NAT实现简单的无线AP
  13. 先有电脑然后才有手机,为什么当时手机不叫“手脑”呢?
  14. TIOBE 3 月编程语言排行榜:主流 Java、C++ 惨遭嫌弃,Python 势头迅猛
  15. 经济应用数学基础二 线性代数 (第四版) 赵树嫄 编| 中国人大版 课后习题答案
  16. ​手机APP应用软件开发
  17. mstar v56几路hdmi_TCL MStar常用升级方法图文教程
  18. 内网安全-域横向网络传输应用层隧道技术
  19. i3cpu驱动xp_Intel英特尔 Core i3/Core i5/Core i7系列CPU显示驱动 14.46.9.5394版 For XP-64
  20. 我学会了用计算机作文,我学会了作文(15篇)

热门文章

  1. vscode css智能补全_让你编码嗨到停不下来的8个VSCode插件
  2. PollingBlockTracker - encountered an error while attempting to update latest block:
  3. 以太坊 事务处理流程
  4. 诛仙服务器状态查询,《诛仙2》3月19日服务器数据互通公告
  5. matlab 算法转 c语言,matlab
  6. 唯一分解求正约数个数
  7. 批量更新 elasticsearch 内指定字段状态, 先查询后更新
  8. Beego 使用笔记
  9. Logstash5.X 日志搜集处理框架 安装配置
  10. 有关风向及风向处理的笔记