一.函数简介
strerror函数用于调用库函数失败时,翻译错误信息,引用头文件#include<string.h>
函数声明:
char * strerror ( int errnum );
errnum:调用库函数失败时,系统返回的错误码(0,1,2,3,4,5,6,7,8.....)
返回值:返回值为字符指针类型,指向描述错误码内容的地址
二.注意事项
erron:
errno 本质上是一个 int 类型的变量,用于存储错误编号,引用的头文件是#include<erron.h>
#include<stdio.h>
#include<string.h>
#include<errno.h>
int main()
{
FILE* pf=fopen("duck.txt.", "r");
if(pf==NULL)
{
printf("%s\n",strerror(errno));//errno是一个全局变量,类型为整形,erron是一个错误码,系统调用出错的时候,会设置一个错误码。因为C语言没有异常处理机制,所以要依靠错误码进行异常情况的处理。
}
return 0;
}
我的电脑中没有duck.txt这个文件,所以它会返回一个错误的信息
说的就是不存在这样的文件,这就是strerror对错误码翻译。
其实我们还可以自己定义错误码,去查看错误码在库函数所对应的信息,例如
#include<stdio.h>
#include<string.h>
int main()
{
printf("%s\n",strerror(0));
printf("%s\n",strerror(1));
printf("%s\n",strerror(2));
printf("%s\n",strerror(3));
printf("%s\n",strerror(4));
printf("%s\n",strerror(5));
printf("%s\n",strerror(6));
printf("%s\n",strerror(7));
printf("%s\n",strerror(8));
return 0;
}