7-38 メッセージキューからのメッセージ取得


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/ipc.h>
#include <sys/msg.h>

#define MTEXTSIZE 10

int
main(int argc, char *argv[])
{
  int msgid, msgtype;
  struct msgbuf {
    long mtype;
    char mtext[MTEXTSIZE];
  } mbuf;

  if (argc != 3) {
    fprintf(stderr, "Usage : %s msgid msgtype\n", argv[0]);
    return 1;
  }

  msgid = atoi(argv[1]);
  msgtype = atoi(argv[2]);

  if (msgrcv(msgid, &mbuf, MTEXTSIZE, msgtype, 0) < 0) {
    perror("msgrcv");
    return 1;
  }

  printf("%c\n", mbuf.mtext[0]);

  return 0;
}

拙著「Linuxネットワークプログラミング」の紹介

プロフェッショナルIPv6解説動画シリーズ再生リスト

動画で学ぶ「プロフェッショナルIPv6」を作っています。 もしよろしければご覧ください。お楽しみいただければ幸いです!