print.c

来自「unix v7是最后一个广泛发布的研究型UNIX版本」· C语言 代码 · 共 98 行

C
98
字号
#/* * UNIX shell * * S. R. Bourne * Bell Telephone Laboratories * */#include	"defs.h"CHAR		numbuf[6];/* printing and io conversion */newline(){	prc(NL);}blank(){	prc(SP);}prp(){	IF (flags&prompt)==0 ANDF cmdadr	THEN	prs(cmdadr); prs(colon);	FI}VOID	prs(as)	STRING		as;{	REG STRING	s;	IF s=as	THEN	write(output,s,length(s)-1);	FI}VOID	prc(c)	CHAR		c;{	IF c	THEN	write(output,&c,1);	FI}prt(t)	L_INT		t;{	REG INT	hr, min, sec;	t += 30; t /= 60;	sec=t%60; t /= 60;	min=t%60;	IF hr=t/60	THEN	prn(hr); prc('h');	FI	prn(min); prc('m');	prn(sec); prc('s');}prn(n)	INT		n;{	itos(n); prs(numbuf);}itos(n){	REG char *abuf; REG POS a, i; INT pr, d;	abuf=numbuf; pr=FALSE; a=n;	FOR i=10000; i!=1; i/=10	DO	IF (pr |= (d=a/i)) THEN *abuf++=d+'0' FI		a %= i;	OD	*abuf++=a+'0';	*abuf++=0;}stoi(icp)STRING	icp;{	REG CHAR	*cp = icp;	REG INT		r = 0;	REG CHAR	c;	WHILE (c = *cp, digit(c)) ANDF c ANDF r>=0	DO r = r*10 + c - '0'; cp++ OD	IF r<0 ORF cp==icp	THEN	failed(icp,badnum);	ELSE	return(r);	FI}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?