文章目录
- strerror
- perror
strerror
当一个函数运行错误时,它会将对应的错误码存放在一个int类型的全局变量errno中,strerror函数是将错误码转化成错误信息的函数,参数是一个int类型的errno错误码,返回值为错误信息的首地址。
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main()
{
FILE* pf = fopen("test.txt", "r");//打开失败返回NULL
if (pf == NULL)
{
printf("%s", strerror(errno));
}
else
{
fclose(pf);
pf = NULL;
}
return 0;
}
注意:errno也要包含头文件
perror
perror函数没有返回值,与strerror函数不同,strerror返回错误信息的首地址,要想知道错误信息还需要打印,perror直接打印没有返回值。
打印的信息为冒号+空格+错误信息
#include <stdio.h>
int main()
{
FILE* pf = fopen("test.txt", "r");
if (pf == NULL)
{
perror("test.txt");
}
else
{
fclose(pf);
pf = NULL;
}
return 0;
}
perror的参数为