msgrcv.c
来自「unix网络编程的源码」· C语言 代码 · 共 37 行
C
37 行
#include "unpipc.h"
#define MAXMSG (8192 + sizeof(long))
int
main(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 + -
显示快捷键?