perror_.c
来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 47 行
C
47 行
/*char id_perror[] = "@(#)perror_.c 1.2"; * * write a standard error message to the standard error output * * calling sequence: * call perror(string) * where: * string will be written preceeding the standard error message */#include <stdio.h>#include "../libI77/fiodefs.h"#include "../libI77/f_errno.h"extern char *sys_errlist[];extern int sys_nerr;extern char *f_errlist[];extern int f_nerr;extern unit units[];perror_(s, len)char *s; long len;{ unit *lu; char buf[40]; char *mesg = s + len; while (len > 0 && *--mesg == ' ') len--; if (errno >=0 && errno < sys_nerr) mesg = sys_errlist[errno]; else if (errno >= F_ER && errno < (F_ER + f_nerr)) mesg = f_errlist[errno - F_ER]; else { sprintf(buf, "%d: unknown error number", errno); mesg = buf; } lu = &units[STDERR]; if (!lu->uwrt) nowwriting(lu); while (len-- > 0) putc(*s++, lu->ufd); fprintf(lu->ufd, ": %s\n", mesg);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?