实验

翻译 2015年11月18日 17:27:44

#include<sys/types.h>

#include<sys/stat.h>

#include<errno.h>

#include<fcntl.h>

#include<stdio.h>

#include<stdlib.h>

#include<limits.h>             

 

#define MYFIFO                 "/tmp/myfifo" /* 有名管道文件名*/

#defineMAX_BUFFER_SIZE            PIPE_BUF    /*定义在于limits.h中*/

      

int main(intargc, char * argv[]) /*参数为即将写入的字符串*/

{

       int fd;

       char buff[MAX_BUFFER_SIZE];

       int nwrite;

      

       if(argc <= 1)

       {

              printf("Usage: ./fifo_writestring\n");

              exit(1);

       }

       sscanf(argv[1], "%s", buff);

      

       /* 以只写阻塞方式打开FIFO管道 */

       fd = open(MYFIFO, O_WRONLY);

       if (fd == -1)

       {

              printf("Open fifo fileerror\n");

              exit(1);

       }

      

       /*向管道中写入字符串*/

       if ((nwrite = write(fd, buff,MAX_BUFFER_SIZE)) > 0)

       {

              printf("Write '%s' toFIFO\n", buff);

       }

      

       close(fd);

       exit(0);

}

 

(2)读管道的程序


 

#include<sys/types.h>

#include<sys/stat.h>

#include<errno.h>

#include<fcntl.h>

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<limits.h>             

 

#define MYFIFO                 "/tmp/myfifo"

#defineMAX_BUFFER_SIZE            PIPE_BUF /*定义在于limits.h中*/

 

int main()

{

       char buff[MAX_BUFFER_SIZE];

       int fd;

       int nread;

      

       /* 判断有名管道是否已存在,若尚未创建,则以相应的权限创建*/

       if (access(MYFIFO, F_OK) == -1)

       {

              if ((mkfifo(MYFIFO, 0666) < 0)&& (errno != EEXIST))

              {

                     printf("Cannot createfifo file\n");

                     exit(1);

              }

       }

      

       /* 以只读阻塞方式打开有名管道 */

       fd = open(MYFIFO, O_RDONLY);

       if (fd == -1)

       {

              printf("Open fifo fileerror\n");

              exit(1);

       }

      

       while (1)

       {

              memset(buff, 0, sizeof(buff));

              if ((nread = read(fd, buff,MAX_BUFFER_SIZE)) > 0)

              {

                     printf("Read '%s' fromFIFO\n", buff);

              }           

       }    

      

       close(fd);

       exit(0);

}

《数据结构》实验三:栈和队列实验

《数据结构》实验三:    栈和队列实验 一..实验目的      巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操...
  • itsLIANGYINGYI_
  • itsLIANGYINGYI_
  • 2014年11月05日 22:54
  • 1725

实验三:TCP/IP协议分析实验

一、实验目的  了解TCP/IP协议的工作过程,掌握分析协议的方法,对捕获的数据包逐字段分析,以加深对协议、协议封装及协议数据单元的理解。 二、实验拓扑   三、实验内容 安装...
  • baimeiyunrui
  • baimeiyunrui
  • 2013年04月17日 22:15
  • 1279

51单片机学习笔记【六】——串口通信实验

一.串口通信基础1.串行通信 串行通信将数据字节分成一位一位的形式在一条传输线上逐个传送。单片机采用串行通信。特点是:传输线少,长距离传送成本低,但数据传送控制复杂。 串行通信的传输的传输方向:单工(...
  • qq_22512533
  • qq_22512533
  • 2015年07月22日 01:06
  • 2320

李大澍ospf实验报告

R1-loopback0 接口宣告进0  1  都可以通,为什么? 遇到这中情况,最好的宣告进哪个区域...
  • LiDaShu1987
  • LiDaShu1987
  • 2018年01月12日 12:05
  • 10

C#将DLL嵌入到exe(实验可行的唯一方法)

第一:无需新增文件夹以及在此文件夹里增加DLL,因为我的VS里头Resources下面已经有了。 第二:不用把DLL的“生成操作”弄成“嵌入的资源”,节省exe空间 双...
  • ht_love_wy
  • ht_love_wy
  • 2018年01月10日 17:51
  • 5

如何查找论文(计算机类文献)中实验的代码?

链接:https://www.zhihu.com/question/21980275/answer/19929480 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处...
  • xiaoxik
  • xiaoxik
  • 2018年01月10日 10:43
  • 13

记一次同一个文件夹内跨java文件的类调用实验

【背景】已经学习到如果一个java文件中,类的名称前面如果没有权限控制,或者有public,则类在同一个包内是可以相互调用的。 【实验一】 新建一个文件夹test。在A.java中定义类: cl...
  • koysuper
  • koysuper
  • 2018年01月10日 00:08
  • 17

现代化信息查询实验报告

检索题目 : 计算机网络安全相关学位论文 文献类型 : 学位论文 检索词 (题目或关键词): 计算机 网络安全 检索工具 : 万方数据知识平台 检索策略 检索结果...
  • qq_36793147
  • qq_36793147
  • 2018年01月08日 21:18
  • 14

RAC实验环境的安装部署

本次使用vm virtualBOX进行安装,配置两节点RAC和采用ASM共享磁盘组进行存储管理 安装版本 linux 5.6 一、linux安装配置 内存 磁盘 ...
  • qqww120102
  • qqww120102
  • 2018年01月08日 20:07
  • 24

计算机图形图像处理 实验一

原文:http://blog.csdn.net/BabyGoodMorning/article/details/70133589 计算机图形图像实验 计算机图形图像实验 一 ...
  • qq_34057694
  • qq_34057694
  • 2018年01月09日 10:38
  • 11
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实验
举报原因:
原因补充:

(最多只允许输入30个字)