函数strerror和函数perror都是可以检查出函数错误的信息,但它们俩个之间又有细小的分别,让我们来深入了解一下吧!
目录
1.strerror
1.1认识函数
1.函数功能:返回错误码所对应的错误信息这个字符串所在的首字符地址
2.头文件:#include<string.h>
3.使用格式:char *strerror( int errnum );
4.C语言中,如果C语言的库函数在运行的时候发生错误,就会把错误存在一个变量中,这个变量就是errnum
errnum的头文件是#include<errno.h>
5.错误码是一些数字,即errnum是1 2 3 4 5
6.我们需要把错误码翻译成错误信息
1.2代码示例
我们就把strerror所对应的错误信息打印出来,方便我们更好的理解:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<errno.h>
//strerror
int main()
{
int i = 0;
for (i = 0; i < 6; i++)
{
printf("%s\n", strerror(i));//打印错误信息
}
return 0;
}
2.perror
2.1认识函数
1.函数功能:和strerror有极大的相似性,但是它可以直接打印错误信息,不需要写printf函数
2.头文件:#include<stdio.h>或者#include<stdlib.h>
3.使用格式:void perror( const char *string );
4.函数直接打印错误信息,但在打印错误信息前,会先打印自定义信息
2.2代码示例
我们用perror实现一个打开文件的功能:
这里需要介绍一个函数:FILE * fopen(const char* filename,const char* model);
1.如果打开文件成功,就返回一个有效的指针
2.如果打开失败,返回一个NULL指针
//perror
int main()
{
//打开文件
//fopen的查找路径是当前计算机所打开的文件路径
FILE* pf = fopen("test.txt", "r");//r——只读模式打开文件
if (pf == NULL)
{
perror("fopen");
}
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
这就是这两种函数了,如果以后遇到需要使用这两种函数的代码,可以参考使用!