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 + -
显示快捷键?