当前位置: 首页 > news >正文

可以做微积分的网站搜索引擎广告形式有

可以做微积分的网站,搜索引擎广告形式有,电子商务网站建设需求分析,南宁网站建设公司怎么赚钱作业一:打开两个终端,要求实现AB进程对话【两根管道】 打开两个终端,要求实现AB进程对话 A进程先发送一句话给B进程,B进程接收后打印B进程再回复一句话给A进程,A进程接收后打印重复1.2步骤,当收到quit后&am…

作业一:打开两个终端,要求实现AB进程对话【两根管道】

打开两个终端,要求实现AB进程对话

  1. A进程先发送一句话给B进程,B进程接收后打印
  2. B进程再回复一句话给A进程,A进程接收后打印
  3. 重复1.2步骤,当收到quit后,要结束AB进程
  • 提示:两根管道

A终端代码:

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>/***************************B终端***************************/  int main(int argc, const char *argv[])
{//创建管道1   A终端写入--->管道1--->B终端读取if(mkfifo("./fifo",0664) < 0){if(errno != 17){perror("mkfifo");return -1;}}printf("mkfifo pipe1 success __%d__\n",__LINE__);//创建管道2   B终端写入--->管道2--->A终端读取if(mkfifo("./myfifo",0664) < 0){if(errno != 17){perror("mkfifo");return -1;}}printf("mkfifo pipe2 success __%d__\n",__LINE__);//以读的方式打开管道1int fd_r=open("./fifo",O_RDONLY);if(fd_r < 0){perror("open");return -1;}printf("open pipe1 success __%d__\n",__LINE__);//以写的方式打开管道2int fd_w=open("./myfifo",O_WRONLY);if(fd_w < 0){perror("open");return -1;}printf("open pipe2 success __%d__\n",__LINE__);char buf[128]="";ssize_t res = 0;int c=-1;while(1){//管道1操作(读取数据)bzero(buf,sizeof(buf));res=read(fd_r,buf,sizeof(buf));c=strcmp(buf,"quit");//判断B终端输入的是否是quitif(0 == c){break;//是quit则退出进程}if(res < 0){perror("read");return -1;}if(0 == res ){printf("对方进程退出\n");break;}printf("A:%s\n",buf);//管道2操作(写入数据)printf("请输入>>> ");fgets(buf,sizeof(buf),stdin);buf[strlen(buf)-1] = '\0';if((write(fd_w,buf,sizeof(buf))) < 0){perror("write");return -1;}//当管道2关闭,管道2的写段尝试写入数据,则管道破裂,退出进程}close(fd_r);close(fd_w);return 0;
}

B终端代码:

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>/***************************A终端***************************/int main(int argc, const char *argv[])
{//创建管道1    A终端写入--->管道1--->B终端读取if(mkfifo("./fifo",0664) < 0){if(errno != 17)//如果错误是已有管道,则跳过,可正常运行{perror("mkfifo");return -1;}}printf("mkfifo pipe1 success __%d__\n",__LINE__);//创建管道2    B终端写入--->管道2--->A终端读取if(mkfifo("./myfifo",0664) < 0){if(errno != 17){perror("mkfifo");return -1;}}printf("mkfifo pipe2 success __%d__\n",__LINE__);//以写的方式打开管道1int fd_w=open("./fifo",O_WRONLY);if(fd_w < 0){perror("open");return -1;}printf("open pipeA success __%d__\n",__LINE__);//以读的方式打开管道Bint fd_r=open("./myfifo",O_RDONLY);if(fd_r < 0){perror("open");return -1;}printf("open pipeB success __%d__\n",__LINE__);char buf[128]="";ssize_t res = 0;int c=-1;while(1){//管道1操作(写入数据)printf("请输入要对B说的话>>> ");fgets(buf,sizeof(buf),stdin);    //从终端获取数据buf[strlen(buf)-1] = '\0';   //将\n改成\0if((write(fd_w,buf,sizeof(buf))) < 0)  //将字符串写进管道A  {perror("write");return -1;}//当管道1的读段关闭,管道1的写段尝试写入数据,则管道破裂,退出进程//管道2操作(读取数据)bzero(buf,sizeof(buf));//清空字符串res=read(fd_r,buf,sizeof(buf));//读取B管道中的数据c=strcmp(buf,"quit");//将读到的数据与quit比较if(0 == c)//如果相同,c为0,达到退出条件,可以退出循环{break;}//printf("写入数据成功 res=%ld\n",res);if(res < 0)//read函数执行失败,返回负数{perror("read");return -1;}   if(0 == res)//read执行成功,但读到了0个数据`{printf("对方进程退出\n");break;}//打印从管道2中读取到的数据printf("B:%s\n",buf);}//关闭管道1、管道2close(fd_r);close(fd_w);return 0;
}

A终端结果:

ubuntu@ubuntu:02_fifo$ gcc 03_pipe_w.c -o w
ubuntu@ubuntu:02_fifo$ ./w
mkfifo pipe1 success __22__
mkfifo pipe2 success __33__
open pipeA success __42__
open pipeB success __50__
请输入要对B说的话>>> 你好,我是A
B:你好呀,我是B
请输入要对B说的话>>> 你吃饭了吗?
B:吃了,你呢
请输入要对B说的话>>> 不告诉你
ubuntu@ubuntu:02_fifo$ 

B终端结果:

ubuntu@ubuntu:02_fifo$ gcc 02_pipe_r.c -o r
ubuntu@ubuntu:02_fifo$ ./r
mkfifo pipe1 success __22__
mkfifo pipe2 success __33__
open pipe1 success __42__
open pipe2 success __50__
A:你好,我是A
请输入>>> 你好呀,我是B
A:你吃饭了吗?
请输入>>> 吃了,你呢
A:不告诉你
请输入>>> quit
对方进程退出
ubuntu@ubuntu:02_fifo$ 

fd741777d8ed4957bfa812ba1a3af75e.png

 

http://www.fp688.cn/news/157378.html

相关文章:

  • WordPress众筹网站主题微信小程序开发工具
  • 企业查询信息兰州seo优化公司
  • 商标设计创意上海seo
  • 网站建设 说明关键词优化技巧
  • 网站做链轮会被惩罚吗今日头条新闻最全新消息
  • 云南企业网站建设软文广告经典案例300
  • 最专业的网站建设公司专业的seo排名优化
  • 网站的必要性山东关键词快速排名
  • wordpress 文件加载顺序seo知识培训
  • 能打开任何网站的浏览器百度seo代理
  • 网站 建设需求佛山网站建设制作公司
  • 百度景安空间网站百度信息流代理
  • 企业公司怎么注册郑州seo建站
  • sentos上部署.net网站信息流广告公司一级代理
  • 冠县做网站哪里好厦门seo排名公司
  • 国外做耳机贸易的平台网站市场seo是什么意思
  • 网站域名怎么修改吗百度手机下载安装
  • 企业宣传网站怎么做百度网页电脑版入口
  • 百度网站的优化方案seo网站营销推广公司
  • 莱芜翰林名苑莱芜论坛seo网站推广助理招聘
  • 功能性质网站有哪些网站搜索引擎排名规则
  • 杭州做网站 做小程序google搜索优化
  • 真么做网站百度软件安装
  • 济南做网站找哪家好深圳谷歌seo推广
  • wordpress 视频站模板企业网站排名优化价格
  • 美工免费素材网站杭州关键词优化服务
  • 58同城推广能免费做网站吗竞价托管是啥意思
  • 装修设计网站哪个好用关键词怎么找出来
  • 地方行业网站2022年明星百度指数排行
  • 公司做网站开发流程百度手机端排名