C错误处理

errno、perror() 和 strerror()

C 语言提供了 perror() 和 strerror() 函数来显示与 errno 相关的文本消息。

  • perror() 函数显示您传给它的字符串,后跟一个冒号、一个空格和当前 errno 值的文本表示形式。
  • strerror() 函数,返回一个指针,指针指向当前 errno 值的文本表示形式(需要string.h库)。
#include <stdio.h>
#include <errno.h>
#include <string.h>
 
extern int errno ;
 
int main ()
{
   FILE * pf;
   pf = fopen ("unexist.txt", "rb");
   if (pf == NULL)
   {
      fprintf(stderr, "错误号: %d\n", errno);
      perror("通过 perror 输出错误");
      printf("打开文件错误: %s\n", strerror( errno ));
   }
   else
   {
      fclose (pf);
   }
   return 0;
}
错误号: 2
通过 perror 输出错误: No such file or directory
打开文件错误: No such file or directory

 

posted @ 2020-06-14 02:37  腹肌猿  阅读(167)  评论(0编辑  收藏  举报