⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test11_9.txt

📁 人民邮电出版社的经典著作《Linux下的C编程》配套源码!初学者的必备!共14章
💻 TXT
字号:
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>
#include <string.h>

int main(void)
{
	key_t unique_key;
	int msgid;
	int status;
	char str1[ ]={"test message:hello!"};
	char str2[ ]={"test message:goodbye!"};

	struct msgbuf
	{
        	long msgtype;
        	char msgtext[1024];
	}sndmsg, rcvmsg;

    	if(msgid=msgget(IPC_PRIVATE, 0666)==-1)
    	{
        	printf("msgget error!\n");
        	exit(254);
    	}

	sndmsg.msgtype=111;
	sprintf(sndmsg.msgtext, str1);
	if(msgsnd(msgid, (struct msgbuf *)&sndmsg, sizeof(str1)+1, 0)==-1)
	{
    		printf("msgsnd error!\n");
    		exit(254);
	}

	sndmsg.msgtype=222;
	sprintf(sndmsg.msgtext, str2);
	if(msgsnd(msgid, (struct msgbuf *)&sndmsg, sizeof(str2)+1, 0)==-1)
	{
    		printf("msgsnd error!\n");
    		exit(254);
	}

	if(status=msgrcv(msgid, (struct msgbuf *)&rcvmsg, 80, 222, IPC_NOWAIT)==-1)
	{
    		printf("msgrcv error!\n");
    		exit(254);
	}
	printf("The received message: %s. \n", rcvmsg.msgtext);

	msgctl(msgid, IPC_RMID, 0);
	exit(0);
}

⌨️ 快捷键说明

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