Chinaunix首页 | 论坛 | 博客
  • 博客访问: 830302
  • 博文数量: 213
  • 博客积分: 5048
  • 博客等级: 大校
  • 技术积分: 1883
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 10:14
文章分类

全部博文(213)

文章存档

2011年(4)

2010年(55)

2009年(47)

2008年(107)

我的朋友

分类: LINUX

2008-10-17 20:50:35

在apue.2e的附录B中程序清单B-2有关apue例程用的错误输出程序,现在对里面函数做一些简单的分析:
首先来看看,出错处理函数有这几个:
err_ret(),err_sys(),err_exit,err_dump,err_msg,err_quit
理解这些函数有什么区别之前我们先来看看大家都用的具体处理函数err_doit()
 

static void
    102 err_doit(int errnoflag, int error, const char *fmt, va_list ap)
    103 {
    104 char buf[MAXLINE];
    105
    106 vsnprintf(buf, MAXLINE, fmt, ap);
    107 if (errnoflag)
    108 snprintf(buf+strlen(buf), MAXLINE-strlen(buf), ": %s",
    109 strerror(error));
    110 strcat(buf, "\n");
    111 fflush(stdout); /* in case stdout and stderr are the sam e */
    112 fputs(buf, stderr);
    113 fflush(NULL); /* flushes all stdio output streams */
    114 }

 

对不起,还是有部分不太懂。。待续。。

阅读(664) | 评论(0) | 转发(0) |
0

上一篇:linux重定向详解

下一篇:Util-linux包

给主人留下些什么吧!~~