zoukankan      html  css  js  c++  java
  • fprintf 和 perror 的理解1

    程序中的两种出错处理:

    第一种: 用fprintf

       2:  #include <string.h>
       3:  #include <errno.h>
       4:  #include <stdlib.h>
       5:   
       1:  #include <stdio.h>
       6:  int main(void)
       7:  {
       8:      FILE *fp;
       9:   
      10:      if((fp = fopen("1.c", "r")) == NULL)
      11:      {
      12:          fprintf(stderr, "fopen error! %s", strerror(errno));
      13:          exit(-1);
      14:      }
      15:      return 0;
      16:  }

    image

    可以看出,这种输出结果不会自动换行。而且参数较多。

    第二种、perror

       1:  #include <stdio.h>
       2:  #include <stdlib.h>
       3:   
       4:  int main(void)
       5:  {
       6:      FILE *fp;
       7:   
       8:      if((fp = fopen("1.c", "r")) == NULL)
       9:      {
      10:          perror("fopen error!");
      11:          exit(-1);
      12:      }
      13:      return 0;
      14:  }

    image

    可以看出:用perror的输出会自动换行,且自动加上一个冒号和错误提示。推荐!

  • 相关阅读:
    51 nod 1279 扔盘子
    洛谷 P2911 [USACO08OCT]牛骨头Bovine Bones
    1759 加减表达式
    1750 加法表达式
    poj 1006 Biorhythms
    vijos 1198 最佳课题选择
    poj 1390 Blocks
    codevs 3324 新斯诺克
    codevs 2075 yh女朋友的危机
    对拍器
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/2952414.html
Copyright © 2011-2022 走看看