无名管道数据交换

#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include<errno.h>
#include <unistd.h>
#include<fcntl.h>
#include<string.h>int main(int argc, const char *argv[])
{//开辟写入管道1if(mkfifo("./AAA",0777)<0){if(errno!=17){perror("fifo");return -1;}}printf("success\n");int fp=open("./AAA",O_WRONLY);if(fp<0){perror("open");return -1;}printf("打开成功\n");//开辟读取管道2if(mkfifo("./BBB",0777)<0){if(errno!=17){perror("fifo2");return -1;}}int RD=open("./BBB",O_RDONLY);if(RD<0){perror("RDeer");return -1;}char buf[20]="";char Rdate[20]="";//用于接收ssize_t res;while(1){//发送数据printf("请输入\n");fgets(buf,sizeof(buf),stdin);buf[strlen(buf)-1]=0;if(write(fp,buf,sizeof(buf))<0){perror("write");return -1;}printf("写入成功\n");if(strcmp(buf,"quit")==0){break;}//接受数据bzero(Rdate,sizeof(Rdate));res=read(RD,Rdate,sizeof(Rdate));if(res<0){perror("RES");return-1;}else if(res==0){printf("终端关闭,管道2\n");break;}printf("res=%ld  Ddate=%s",res,Rdate);if(strcmp(Rdate,"quit")==0){break;}}return 0;
}
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include<errno.h>
#include <unistd.h>
#include<fcntl.h>
#include<string.h>int main(int argc, const char *argv[])
{//接受管道if(mkfifo("./AAA",0777)<0){if(errno!=17){perror("fifo");return -1;}}printf("success\n");int fp=open("./AAA",O_RDONLY);if(fp<0){perror("open");return -1;}printf("打开成功2\n");//发送管道if(mkfifo("./BBB",0777)<0){if(errno!=17){perror("fifo2");return -1;}}int RD=open("./BBB",O_WRONLY);if(RD<0){perror("RDeer");return -1;}ssize_t res=0;char buf[20]="";//发送char Wdate[20]="";while(1){bzero(buf,sizeof(buf));res=read(fp,buf,sizeof(buf));if(res<0){perror("read");return -1;}else if(res==0){printf("写终端关闭,且没有数据\n");break;}printf("res=%ld buf=%s \n",res,buf);if(strcmp(buf,"quit")==0)break;//发送管道printf("请输入\n");fgets(Wdate,sizeof(Wdate),stdin);Wdate[strlen(Wdate)-1]=0;if(write(RD,Wdate,sizeof(Wdate))<0){perror("写入");return -1;}printf("写入成功\n");if(strcmp(Wdate,"quit")==0){break;}}close(fp);return 0;
}

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513030.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在nginx 服务器部署vue项目

以人人快速开发的开源项目&#xff1a;renren-fast-vue 为例 注&#xff1a;这里开始认为各位都会使用nginx 打包vue项目 npm run build 测试打包的项目是否可以运行 serve dist 可以正常运行 编译报错请移步到&#xff1a;renren-fast-vue1.2.2 项目编译报错: build g…

精选制造业项目管理工具,助力生产管理

有什么好用的制造业项目管理工具&#xff1f;制造业作为传统行业&#xff0c;经常会采用项目制管理模式&#xff0c;项目管理对制造业的重要性不言而喻。2024年制造业企业面对国内依然激烈的竞争&#xff0c;想要进一步发展&#xff0c;不仅要对外谋取&#xff0c;也要对内优化…

【WPS】Excel查重数据对比

数据对比 数据对比标记重复数据查询过滤处理

ZYNQ--PS_PL交互(AXI_HP)

AXI_HP接口 通过AXI_HP接口,可直接通过AXI_FULL协议向DDR中通过DMA传输数据。 BD设计 AXI_HP接口设置 AXI_Master代码 module axi_full_master #(parameter C_M_TARGET_SLAVE_BASE_ADDR = 32h40000000,parameter integer C_M_AXI_BURST_LEN = 16,parameter integer …

【Python】使用numpy进行神经网络激活函数算法描述

【Python】使用numpy进行神经网络激活函数算法描述 系统&#xff1a;macOS 10.14.5 IDE&#xff1a;PyCharm 2018.2.4 一、What 1.1 NumPy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供…

2024-03-05

作业要求&#xff1a; 使用write 和 read 实现 文件夹拷贝功能&#xff0c;不考虑递归拷贝使用循环fork的形式。创建一条进程链&#xff0c;链条上总共有100个进程 要求&#xff1a;程序不崩溃 作业1&#xff1a;使用write 和 read 实现 文件夹拷贝功能&#xff0c;不考虑递归拷…

Arthas 日常记录

一 . 前言 Arthas 是一个 Java 诊断程序 , Arthas 官方 已经很详细的描述了命令的使用 , 如果想整体学习可以查看. 而这一篇文档记录了从最开始接触到 Arthas 到逐步深入过程中的一些记录和感悟 , 整理成文档以便处理. 使用场景 如果是一个可以复现的线上问题&#xff0c;而代…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之RowSplit容器组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、RowSplit容器组件 将子组件横向布局&#xff0c;并在每个子组件之间插入一…

【力扣】208.实现Trie

实不相瞒&#xff0c;我怎么感觉洛谷里面的题目好难呢&#xff1f;虽然说万变不离其宗&#xff0c;但是我就觉得刷洛谷的题让我心情烦躁&#xff0c;刷不下去。于是今天我就刷力扣去了&#xff0c;明天继续挣扎吧&#xff01; 这道题目其实挺简单的&#xff0c;但是刚开始我没看…

如何使用宝塔面板部署MySQL数据库,并结合内网穿透实现固定公网地址远程连接

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.1 开放局域网端口3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几…

力扣543. 二叉树的直径

Problem: 543. 二叉树的直径 文章目录 题目描述思路复杂度Code 题目描述 思路 1.最大直径 左子树的最大深度 右子树的最大深度&#xff1b; 2.定义一个变量maxDiameter记录最大直径&#xff0c;并编写一个递归函数maxDepth&#xff0c;利用树的后序遍历每次递归求取leftMax&a…

我的第②个出海工具站 - 2024年50个出海工具站计划

为了大家更好的使用各种出海工具。我上线了一版 出海工具导航 站点&#xff0c;经常使用的可以收藏下&#xff0c;我文内使用的网站都集成在了这里&#xff0c;非常使用。 随着AIGC的到来&#xff0c;2024年到了海外工具回暖的一年。今年计划上线50款出海工具站计划&#xff0c…