错误输出

简介: 1、void perror(const char *s); perror ("open_port"); #include perror ( )用来将上一个函数发生错误的原因输出到标准设备(stderr)。

1、void perror(const char *s); perror ("open_port");

#include <stdio.h>

perror ( )用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量error的值来决定要输出的字符串。

2、char * strerror(int errnum);

#include <string.h>

此函数将errnum(它通常就说errno值)映射为一个出错信息字符串,并返回此字符串的指针。

3、区别

perror是将errno对应的错误消息的字符串打印到标准错误输出上,即stderr2上,若你的程序将标准错误输出重定向到/dev/null,那就看不到了,就不能用perror了。而 strerror的作用只是将errno对应的错误消息字符串返回,要怎样处理完全由你自己决定。通常我们选择把错误消息保存到日志文件中,即写文件,所以通常可以用fprintf(fp, "%s", strerror(errno))将错误消息打印到fp指向的文件中。其中perrorerrno对应的错误消息集合跟strerror是一样的,也就是说不会漏掉某些错误。

原文

http://www.cnblogs.com/zjfdbz/archive/2012/12/16/2821061.html

目录
相关文章
射极输出器
射极输出器(Emitter Follower)是一种常见的放大电路,也称为共射输出器。它由一个晶体管组成,通常是NPN型晶体管。
371 0
|
6月前
|
JavaScript 前端开发 开发者
数据输出方法
【8月更文挑战第30天】
65 3
|
5月前
输出
输出。
39 1
|
9月前
|
C语言
输入&输出
【2月更文挑战第13天】输入&输出。
35 1
|
前端开发 NoSQL 测试技术
优雅的输出错误-assert
优雅的输出错误-assert
173 1
优雅的输出错误-assert
|
存储 程序员 C++
C++ 中的基本输入/输出
C++ 附带的库为我们提供了许多执行输入和输出的方法。在 C++ 中,输入和输出以字节序列或更通常称为流的形式执行。
131 0
|
Java 编译器 C#
C#的简单理解与输出
C#的简单理解与输出
139 0

热门文章

最新文章