Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Робота з чергами повідомлень

Автор:   •  Июнь 18, 2020  •  Лабораторная работа  •  554 Слов (3 Страниц)  •  271 Просмотры

Страница 1 из 3

Міністерство освіти та науки України

Вінницький національний технічний університет

Факультет інформаційних технологій та комп’ютерної інженерії

Кафедра комп’ютерних наук

Звіт лабораторної роботи №5

Робота з чергами повідомлень

                                                                                        Виконав студент групи 2КН-19Б

        Коваль Катерина.

Перевірив:

Іванчук Я.В.              

Вінниця 2020

Мета роботи: Розробити програму яка буде створювати чергу повідомлень та читати їх.

Лістинг програми

#include

#include

#include

#include

#include

#include

#include

#define MAX_SEND_SIZE 80

struct mymsgbuf {

  long mtype;

  char mtext[MAX_SEND_SIZE];

};

void send_message(int qid, struct mymsgbuf *qbuf, long type, char *text);

void read_message(int qid, struct mymsgbuf *qbuf, long type);

void remove_queue(int qid);

void change_queue_mode(int qid, char *mode);

void usage(void);

int main(int argc, char *argv[])

{

  key_t  key;

  int    msgqueue_id;

  struct mymsgbuf qbuf;

  if (argc == 1)

  {

    usage();

    exit(1);

  }

  key = ftok(".", 'm');

  if ((msgqueue_id = msgget(key, IPC_CREAT | 0660)) == -1) {

    perror("msgget");

    exit(1);

  }

  switch(tolower(argv[1][0]))

  {

    case 's':

      send_message(msgqueue_id, (struct mymsgbuf *)&qbuf, atol(argv[2]), argv[3]);

      break;

    case 'r':

      read_message(msgqueue_id, &qbuf, atol(argv[2]));

      break;

    case 'd':

      remove_queue(msgqueue_id);

      break;

    case 'm':

      change_queue_mode(msgqueue_id, argv[2]);

...

Скачать:   txt (3.6 Kb)   pdf (99.6 Kb)   docx (198.9 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club