用strerror函数实现perror函数的功能
来源:互联网 发布:mac ssh 客户端 推荐 编辑:程序博客网 时间:2024/06/07 05:27
实现这个功能比较简单,主要是要搞清strerror函数和perror函数。
关于errno
为什么要来介绍errno呢? 因为它记录了调用库函数或系统调用后的错误信息。什么是errno? errno记录了系统的最后一次错误代码。errno是一个int型的系统全局变量,其错误代码定义在errno.h中。每一个errno变量对应着 以字符串表示的错误类型。
介绍完errno后,我们来介绍上面提到的两个函数。
strerror函数
通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。char * strerror(int errnum);简单的说:就是errno转为错误字符串。
注意
使用该函数需要导入#include <errno.h>#include <string.h>
perror函数
void perror(const char *s);将上一个函数的出错信息输出到标准设备。参数s所指的字符串先打印,后面跟上错误原因字符串。
讲完之后,只需要获取errno,传入strerror函数,进行拼接,即可编写自己的perror函数。
实现代码如下:
//用strerror函数实现perror函数的功能 #include<stdio.h> #include<stdlib.h> #include<errno.h> #include<string.h> void myperror(char * str){ extern int errno; char *error=strerror(errno); printf("%s: %s\n",str,error); } int main(){ FILE *fp; fp=fopen("~/aaa.txt","r+"); if(NULL==fp){ myperror("openerror"); } return 0; }
阅读全文
0 0
- 用strerror函数实现perror函数的功能
- perror, errno, strerror 三个函数的说明
- perror函数,strerror函数,errno
- perror函数,strerror函数,errno
- perror函数,strerror函数,errno
- perror函数,strerror函数,errno
- perror函数,strerror函数,errno,stderr
- errno、stderr、perror函数和strerror函数
- errno、stderr、perror函数和strerror函数
- errno、stderr、perror函数和strerror函数
- 用perror或strerror函数打印程序错误信息
- 关于errno与perror,strerror函数
- 关于errno与perror,strerror函数
- 关于errno与perror,strerror函数
- 关于errno与perror,strerror函数
- 错误输出函数perror和strerror用法
- perror()函数,strerror()函数,系统提供的报错函数讲解
- Linux/Unix C编程之的perror函数,strerror函数,errno
- Android socket通信: 一问一答,一问多答客户端网络请求工具类的实现
- Java注解(Annotation)——1 知识
- 量化投资学习【TA-LIB】之MACD
- Could not publish server configuration for JKGL2. Multiple Contexts have a path of "/JKGL2".
- Java Executor.submit()和Executor.execute()这两个方法有什么区别?
- 用strerror函数实现perror函数的功能
- 栈的压入和弹出测试(测试队列)
- Java注解(Annotation)——2 注解处理器
- maven入门指南—03 maven常见错误与解决方法
- 字体溢出隐藏
- 重装win10系统后不能关机,最终解决方案
- MVC反模式与脚本化微服务
- java基础-----弱引用,软引用,强引用,虚引用
- BLE学习—如何在蓝牙4.0BLE中添加新任务?