錯誤處理函數(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