在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 }
|
对不起,还是有部分不太懂。。待续。。
阅读(699) | 评论(0) | 转发(0) |