sendmsg.cpp

来自「linux环境下 消息队列的简单使用」· C++ 代码 · 共 50 行

CPP
50
字号
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#define BUFSIZE 1024#define MAX_TEXT 512struct my_msg_st{        long int my_msg_type;        char some_text[BUFSIZE];};int main(){        int running = 1;        int msgid;        struct my_msg_st some_data;	char buffer[BUFSIZE];	msgid = msgget((key_t)12341, 0666|IPC_CREAT);        if(msgid == -1)        {                fprintf(stderr, "msgget failed with error: %d \n", errno);                exit(EXIT_FAILURE);        }	while(running)	{		printf("input : \n");			fgets(buffer, BUFSIZE-1, stdin);		some_data.my_msg_type= 1;				if(msgsnd(msgid, (void*)&some_data, BUFSIZE, 0) == -1)		{				fprintf(stderr, "msgsnd failed \n");			exit(EXIT_FAILURE);		}                if(strncmp(some_data.some_text, "end", 3) == 0)                {                        running = 0;                }	}        exit(EXIT_SUCCESS);}

⌨️ 快捷键说明

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