进程通信 实验

2026/4/24 19:10:55

/*message buffer for msgsnd and msgrcv calls*/

struct msgbuf{

long mtype; //消息类型,由用户决定

char mtext[MAXMSG];//消息正文 };

5、在程序修改之前存在一个bug,就是在输入的字符串中不能存在空格或制表符,如果出现空格或者制表符,将只会显示空格或者制表符后面的内容,前面的不显示。这是由于scanf()函数的作用,当他遇到空格或制表符时,就会只读入后面的内容。有人想到会用gets()来接受一行,但是懂C的人基本上都知道gets()是一个很危险的函数,而且很难控制,特别是与scanf()交替使用时前者的劣势更是一览无余,所以gets()一般是不推荐用的。那么我们可以用%[^\\n]%*c控制语句来隔离掉其中的空格或者制表符对读入一行字符串的影响。 3.2 测试说明

4 程序清单

/*进程通信之消息队列与共享存储区*/

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define MAXMSG 128

//消息队列的最大长度 #define BUFSIZE 128 //缓冲区的最大长度

/*定义消息的数据结构*/

struct my_msg{

long int mtype; //消息类型

char mtext[MAXMSG]; //消息内容

}msg;

int pid,pid1,pid2;//定义父进程和两个子进程的id标识

int i,j;

char buffer[BUFSIZE],msgtext[MAXMSG]; //定义缓冲区和接受暂存字符数组


进程通信 实验.doc 将本文的Word文档下载到电脑
搜索更多关于: 进程通信 实验 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219