• 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的输出会自动换行,且自动加上一个冒号和错误提示。推荐!

  • 相关阅读:
    P1121 环状最大两段子段和
    无题
    cdoj 1485 柱爷搞子串 sam treap
    自然数幂和
    Gym 100341C AVL Trees NTT
    线性筛分解质因子
    codeforces 366 Ant Man dp
    UVALive 6914 Maze Mayhem 轮廓线dp
    hdu 5790 Prefix 字典树 主席树
    莫比乌斯反演个人小结
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/2952414.html
Copyright © 2020-2023  润新知