概述:

perror和strerror都是C语言提供的库函数,用于获取与erno相关的错误信息,区别不大,用法也简单。最大的区别在于perror向stderr输出结果,而 strerror向stdout输出结果。

测试代码如下:

[cpp] view plain copy

 

print?

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <errno.h>
  4. int main(int argc, char* argv[])
  5. {
  6. FILE *fp;
  7. if ((fp = fopen(argv[1], "r")) == NULL)
  8. {
  9. perror("perror:");
  10. printf("strerror:%s\n", strerror(errno));
  11. }
  12. exit(0);
  13. }

运行结果:

转载于:https://www.cnblogs.com/yfz0/p/5820974.html

转:perror和strerror的区别相关推荐

  1. linux c 打印错误信息error errno perror和strerror的区别

    1 perror  头文件:stdio.h  void perror(const char *msg);  它是基于errno的当前值,在标准错上产生一条出错信息,然后返回.  它先输出由msg字符串 ...

  2. perror()与strerror()的应用及区别 man手册查询

    perror() 和 strerror() 以一种直观的方式打印出错误信息,对于调试程序和编写优秀的程序非常有用. 下面是perror() 与 strerror() 的使用范例及区别: perror( ...

  3. perror和strerror的使用和区别

    (1) perror 头文件:stdio.h void perror(const char *msg); 它是基于errno的当前值,在标准错上产生一条出错信息,然后返回. 它先输出由msg字符串,然 ...

  4. 标准C库函数之perror()、strerror(),以及他们之间各种的优缺点(打印错误信息)

    前言 如果,想要深入的学习标准C库中perror.strerror函数,还是需要去自己阅读Linux系统中的帮助文档. 具体输入命令: man 3 perror man 3 strerror 即可查阅 ...

  5. linux下perror函数,Linux学习 之 perror函数,strerror函数,errno

    #include // void perror(const char *msg); #include // char *strerror(int errnum); #include //errno e ...

  6. perror和printf的区别

    perror和printf的区别 我们大多都使用printf来打印一些信息,其它的接口都比较少用.perror函数用的比较少,但是用起来调试比printf打印更加详细 注意:perror不能带参数,p ...

  7. perror()函数 strerror()函数 详解

    首先简单说一下file descriptors(文件描述符): file descriptor 0是standard input (stdin标准输入) file descriptor 1 是 sta ...

  8. linux下错误的捕获:errno、perror和strerror的使用

    经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因.这个时候使用 ...

  9. errno、perror、strerror用法

    errno:系统调用失败时,会将全局整形变量 errno 设置为一个正值,以标识具体的错误. 程序应包含<errno.h>头文件,该文件提供了对 errno 的声明,以及一组针对各种错误编 ...

最新文章

  1. 计算机设计原则,CISSP备考系列之计算机设计原则[10-39]
  2. UML-类图-需要写关联名称吗?
  3. 帮你理清 SpringBoot 与 SpringMVC 的关系
  4. 【Android】进程
  5. JavaScript使用场景
  6. 领域应用 | 如何将知识图谱特征学习应用到推荐系统?
  7. Linux内核概念:per-CPU,cpumask,inicall机制,通知链
  8. subversion使用_使用Subversion在SQL数据库中对象更改的修订历史记录
  9. java 程序找错_JAVA程序找错~
  10. 【转】JavaScript常用代码书写规范
  11. selenium webdriver 通信过程
  12. 从进化的角度看为啥要均贫富
  13. 西门子real是什么数据类型_西门子PLC数据类型
  14. paip.常用汉字形声字大全3500字
  15. emi软件测试,电磁干扰EMI的测试标准及应用
  16. 研究生阶段的英语学习
  17. 嵌入式工程师必备技能--如何使用示波器查看IIC波形
  18. 并发编程:我对Java并发编程的总结和思考
  19. [可视化] 点云可视化工具open3d的使用
  20. 普华永道:2018年全球信息安全状况调查分析报告

热门文章

  1. 分治法与递归求科赫曲线
  2. 本博客停止更新,后续用博客园。
  3. Python ImportError: No module named Image
  4. CentOS学习笔记 - 7. jekins安装 1
  5. 缓存系列文章--3.缓存常用更新策略对比(一致性)。
  6. Oracle忘记密码如何重置
  7. 设计模式1-简单工厂模式
  8. C++学习笔记(10)运算符重载,友元函数,友元类
  9. Problem B: 编写函数:求最大公约数gcd()和最小公倍数lcm() (Append Code) 山东科技大学 oj
  10. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.54%