Strerror函数和Perror函数的介绍及使用
Strerror
通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。
需要引用的头文件
#include <errno.h>
#include <string.h>
用法:如果调用函数失败,会产生错误码,并把错误码存在errno这个变量中去,如果想知道错误的原因,调用strerror函数,把错误码设置为参数,strerror函数会返回一个char*型指针,打印这个指针,就是错误的信息。
下面请看例子
这里我们想打开一个test.txt的文件,且以读的形式打开
如果没有这个文件(这里是真没有),那么fopen函数就会返回一个NULL
我们来打印一个错误信息
错误信息告诉我们没有这个文件
以上就是对于strerror函数的介绍和使用
Perror
perror函数的功能和strerror函数很像。但它的功能更加直接。
头文件 #include< stdio.h >
perror函数可以自己拿到errno中的值,转换为错误信息,并且打印出来。
用法
打印结果
perror函数是先拿到错误码,转化为错误信息,然后将其打印出来(包括自定义信息)
总结
strerror函数
要把错误码设置为参数,然后函数会将错误码转化为错误信息(字符串),并返回这个字符串的首地址,要打印错误信息还需用到printf函数
perror函数
可以自行拿到错误码,并转化为错误信息,且打印出来(包含自定义信息)
Strerror函数和Perror函数的介绍及使用相关推荐
- erron变量、strerror函数 和 perror 函数
文章目录 一.erron变量 二.strerror 函数 三.perror 函数 一.erron变量 在 Linux 系统下对常见的错误做了一个编号,每一个编号都代表着每一种不同的错误类型,当函数执行 ...
- 管道实现父子进程的信息传递(二)【标准流和其文件描述符、fwrite函数、perror函数】
文章目录 代码实现 标准流 和 标准流文件描述符 代码中用到的函数 fwrite() perror() 在复习进程间的通信方式时又写了一遍,和 管道实现父子进程的信息传递(一)[fork函数.pipe ...
- C语言 | perror函数使用详解
1024G 嵌入式资源大放送!包括但不限于C/C++.单片机.Linux等.关注微信公众号[嵌入式大杂烩],回复1024,即可免费获取! 我们大多都使用printf来打印一些信息,其它的接口都比较少用 ...
- 十一.字符串函数与内存函数
目录 一.求字符串长度 二.长度不受限制的字符串函数 1.strcpy函数 2.strcat函数 3.strcmp函数 三.长度受限制的字符串函数 1.strncpy函数 2.strncat函数 3. ...
- perror()函数 strerror()函数 详解
首先简单说一下file descriptors(文件描述符): file descriptor 0是standard input (stdin标准输入) file descriptor 1 是 sta ...
- linux下perror函数,Linux学习 之 perror函数,strerror函数,errno
#include // void perror(const char *msg); #include // char *strerror(int errnum); #include //errno e ...
- linux下perror函数,Linux/Unix C编程之的perror函数,strerror函数,errno
#include // void perror(const char *msg); #include // char *strerror(int errnum); #include //errno e ...
- 常见的字符函数与字符串函数介绍(1)
常见的字符函数与字符串函数介绍 前言 C语言中对字符与字符串的处理很是频繁,但是C语言中并没有字符串类型的变量,字符串通常存放在常量字符串或者字符数组中.字符串常量适用于那些对它不做任何修改的字符串函 ...
- UNIX网络编程-listen函数及其包裹函数介绍
UNIX网络编程-listen函数及其包裹函数介绍 函数简介 #include<sys/socket.h>int listen(int sockfd,int backlog);返回:若成功 ...
最新文章
- android Canvas 最基础知识总结
- SQL Server 数据库崩溃后的恢复之法
- CSP认证201803-1	跳一跳[C++题解]: 模拟
- jQuery获取URL的GET参数值
- centos6.x redhat6.x 升级openssh8.7
- Linux环境下Protobuf完整安装和使用教程
- oracle物理索引结构,oracle学习笔记(6)oracle物理结构--索引
- 程序设计导引(四)[终结篇]
- 出走的门徒之一——地平线 余凯:造物主的一小步
- .ppt和.pptx有什么区别
- 通信专业顶刊_通信类期刊排名
- 项目接入支付宝接口,验签出错
- 计算机编程学英语词汇,计算机编程常用英语词汇
- 掌上聊app v1.5.5
- html div 移除,js动态创建及移除div的方法
- 1416711-60-8,DBCO-PEG4-Hydroxyl,DBCO-PEG4-alcohol,DBCO-PEG4-OH含有DBCO部分和末端伯羟基的PEG连接剂
- 关于OpenHarmony蜂窝通信框架能力的说明
- 没有申报就对房屋进行装修可以吗?
- Java日历设计思路
- 数据化管理 - 洞悉零售及电商运营【初始】
热门文章
- Time For Kids 很不错的英语学习周刊
- mysql查询用户留存语法(用户留存和用户留存率问题)
- 人脸识别+深度学习,水平远超人类大脑!
- 冒泡排序python和C语言
- 动手吧,vue移动端悬浮球组件
- error: OpenCV(4.1.2) ..\modules\imgcodecs\src\loadsave.cpp:715: error: (-215:Assertion failed) !_img
- 全球云计算大会|TcaplusDB一举斩获优秀解决方案奖
- 第152章 SQL函数 $TSQL_NEWID
- 通过例子说明CMMI各级别不同
- 关于Python和自动化