msgrcv.c

来自「《UNIX进程间通信》中的代码」· C语言 代码 · 共 37 行

C
37
字号
#include	"unpipc.h"#define	MAXMSG	(8192 + sizeof(long))intmain(int argc, char **argv){	int		c, flag, mqid;	long	type;	ssize_t	n;	struct msgbuf	*buff;	type = flag = 0;	while ( (c = Getopt(argc, argv, "nt:")) != -1) {		switch (c) {		case 'n':			flag |= IPC_NOWAIT;			break;		case 't':			type = atol(optarg);			break;		}	}	if (optind != argc - 1)		err_quit("usage: msgrcv [ -n ] [ -t type ] <pathname>");	mqid = Msgget(Ftok(argv[optind], 0), MSG_R);	buff = Malloc(MAXMSG);	n = Msgrcv(mqid, buff, MAXMSG, type, flag);	printf("read %d bytes, type = %ld\n", n, buff->mtype);	exit(0);}

⌨️ 快捷键说明

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