C语言消息队列

msgsnd.c文件

 1 #include<sys/types.h>
 2 #include<sys/ipc.h>
 3 #include<sys/msg.h>
 4 #include<stdio.h>
 5 
 6 struct msgbuf
 7 {
 8     long type;//类型          
 9     char buf[1024];
10 };
11 
12 int main()
13 {
14     int msgid;
15     msgid=msgget(0x1000,IPC_CREAT | 0777);
16     struct msgbuf mb={1,"hello world"};
17     int ret;
18     ret=msgsnd(msgid,&mb,sizeof(struct msgbuf)-sizeof(long),0);
19     //这里的长度不包括类型的大小
20 }

msgrcv.c文件

 1 #include<sys/types.h>
 2 #include<sys/ipc.h>
 3 #include<sys/msg.h>
 4 #include<stdio.h>
 5 struct msgbuf
 6 {
 7     long type;
 8     char buf[1024];
 9 };
10 int main()
11 {
12     int msgid;
13     msgid=msgget(0x1000,IPC_CREAT | 0777);
14     struct msgbuf mb;
15     msgrcv(msgid,&mb,sizeof(struct msgbuf)-sizeof(long),1,0);
16     puts(mb.buf);
17 }

gcc msgsnd.c -o msgsnd      gcc msgrcv.c -o msgrcv 

ipcs查看消息队列

./msgsnd   然后 ipcs

已经传入,然后./msgrcv

ipcs查看一下

取出数据

转载于:https://www.cnblogs.com/ysjd/p/7667334.html

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值