catgetmsg.c

来自「APUE(第二版)的随书源代码,与第一版的代码相比增加了一些章节的代码(详见第二」· C语言 代码 · 共 30 行

C
30
字号
#include	<stropts.h>#include	"ourhdr.h"#define	BUFFSIZE	8192intmain(void){	int				n, flag;	char			ctlbuf[BUFFSIZE], datbuf[BUFFSIZE];	struct strbuf	ctl, dat;	ctl.buf = ctlbuf;	ctl.maxlen = BUFFSIZE;	dat.buf = datbuf;	dat.maxlen = BUFFSIZE;	for ( ; ; ) {		flag = 0;		/* return any message */		if ( (n = getmsg(STDIN_FILENO, &ctl, &dat, &flag)) < 0)			err_sys("getmsg error");		fprintf(stderr, "flag = %d, ctl.len = %d, dat.len = %d\n",						flag, ctl.len, dat.len);		if (dat.len == 0)			exit(0);		else if (dat.len > 0)			if (write(STDOUT_FILENO, dat.buf, dat.len) != dat.len)				err_sys("write error");	}}

⌨️ 快捷键说明

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