转:perror和strerror的区别

Posted care2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转:perror和strerror的区别相关的知识,希望对你有一定的参考价值。

概述:

perror和strerror都是C语言提供的库函数,用于获取与erno相关的错误信息,区别不大,用法也简单。最大的区别在于perror向stderr输出结果,而 strerror向stdout输出结果。

测试代码如下:

 

[cpp] view plain copy
 
 print?
  1. #include <stdio.h>  
  2. #include <string.h>  
  3. #include <errno.h>  
  4.   
  5. int main(int argc, char* argv[])  
  6. {  
  7.     FILE *fp;  
  8.     if ((fp = fopen(argv[1], "r")) == NULL)  
  9.     {  
  10.         perror("perror:");  
  11.         printf("strerror:%s\n", strerror(errno));  
  12.     }  
  13.     exit(0);  
  14. }  



 

运行结果:

技术分享

以上是关于转:perror和strerror的区别的主要内容,如果未能解决你的问题,请参考以下文章

C/C++ Linux 出错处理函数(strerror 与 perror)

C/C++ Linux 出错处理函数(strerror 与 perror)

linux 中的errno 和 strerror(errno)

系统编程错误处理

GDB调试字符数组时指针和数组区别的体现

c 语言中,stdio 和stdlib有啥区别?各代表啥意思?