char * strerror ( int errnum );
返回错误码,所对应的错误信息。(是把错误码转化为对应的错误信息)
#include
可通过往strerror的参数中放入不同的数,罗列出错误提示
for (int i = 0; i < 10; i++)
{
printf("%sn", strerror(i));
}
结果:
使用库函数的时候
调用库函数失败时,都会设置错误码,该错误码放在errno变量中,需要引入头文件
使用实例:
#includeperror#include //errno会把错误码的首字符地址返回,再通过%s打印 FILE* fp = fopen("test.txt", "r"); //不存在该文件,返回空指针 if (fp == NULL) { printf("%sn", strerror(errno)); //打印错误信息,No such file or directory } fclose(fp); fp = NULL;
#include
void perror( const char *str );
perror()函数打印str(字符串)和一个相应的执行定义的错误消息到全局变量errno中.
1.首先把错误码转化为错误信息
2.打印错误信息(包含了自定义的信息)
与strerror的区别:strerror只是把错误码转为错误信息,要打印自己打印,perror则一步到位,即转化又直接打印
例子:
FILE* fp = fopen("test.txt", "r");
if (fp == NULL)
{
perror("fopen"); //打印结果:fopen: No such file or directory
return 1;
}
fclose(fp);
fp = NULL;



