错误处理函数(3)函数
ferror: 检查文件流是否有错误发生
头文件: stdio.h
函数定义: int ferror(FILE *stream);
说明: ferror()用来检查参数stream所指定的文件流是否发生了错误状况, 如有则返回非0值.指针
perror: 打印出错误缘由信息字符串
头文件: stdio.h
函数定义: void perror(const char *s);
说明: perror()用来将上一个函数发生错误的缘由输出到标准错误(stderr). 参数s所指的字符串会先打印出, 后面加上错误的缘由字符串. 此错误缘由依照全局变量errno的来决定要输出的字符串.
应用举例:
#include <stdio.h>
int main(void)
{
FILE *fp;
fp = fopen("/tmp/fdsafda", "r+");
if(fp == NULL)
{
perror("fopen");
}
return 0;
}
运行结果:
fopen: No such file or directory字符串
strerror: 返回错误缘由的描述字符串
头文件: string.h
函数定义: char *strerror(int errnum);
说明: strerror()用来依参数errnum的错误代码来查询错误缘由的描述字符串, 而后将该字符串指针返回. 一般给其传递全局变量errno.
应用举例:
#include <stdio.h>
#include <errno.h>
int main(void)
{
char *buffer;
buffer = strerror(errno);
printf("Error: %s\n", buffer);
return 0;
}
运行结果:
Error: Successstring