0903使用pipe函数创建一个匿名管道,并使用write向管道的一端写入数据
2017-11-23 19:36
531 查看
/*
编写一个程序,使用pipe函数创建一个匿名管道,并使用write向管道的一端写入数据,
使用read函数从管道的另一端读取数据。
*/
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <limits.h>
#define BUFSIZE PIPE_BUF
int main(int argc, char *argv[])
{
int fd[2];
int len;
pid_t pid;
char buffer[BUFSIZ]="hello,Linux world!\n";
}
编写一个程序,使用pipe函数创建一个匿名管道,并使用write向管道的一端写入数据,
使用read函数从管道的另一端读取数据。
*/
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <limits.h>
#define BUFSIZE PIPE_BUF
int main(int argc, char *argv[])
{
int fd[2];
int len;
pid_t pid;
char buffer[BUFSIZ]="hello,Linux world!\n";
//create pipe if(pipe(fd)<0) { printf("pipe failed!\n"); exit(1); } //create son process if((pid=fork())<0) { printf("fork failed!\n"); exit(1); } else if(pid>0)// father process { close(fd[0]); write(fd[0],buf,strlen(buf));//father process write data to pipe exit(0); } else { close(fd[1]);//son process close the write of pipe len=read(fd[0],buf,BUFSIZE);//son process read data from pipe if(len<0) { printf("process failed when read a pipe.\n"); exit(1); } else write(STDOUT_FILENO,buf,len);//output to stdout exit(0); } //return 0;
}
相关文章推荐
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- [例题]VB操作Excel (1)[用VB创建一个xls文件][并向里面写入一个数据]
- 使用jquery创建一个ajax关键词数据搜索
- 使用Office Web Components (OWC)来创建统计图的一个数据类。
- 2013年12.2本周计划(内存映射,管道的创建,strcpy的使用,linux中库的封装,EXCEL数据的拟合)
- 使用jQuery动态创建一个表格(根据用户输入的内容添加一行数据,并且能逐行删除)
- 一个使用c++在lua中创建自定义数据类型的简易方法
- 需求:在硬盘上,创建一个文件并写入一些文字数据。
- C#打开或者创建一个文件,然后向其末尾写入数据的方法
- 在 MySQL Workbench 中如何可视的建立 MySQL 物理数据模型,并使用它来创建一个 MySQL 数据库
- C#使用SqlBulkCopy将DataTable写入数据库的表中(表不存在则创建新表,数据存在则更新,不存在则插入)
- 一个使用泛型堆栈模块创建的两个容纳不同类型数据的实例
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- 一个使用c++在lua中创建自定义数据类型的简易方法
- Android中使用照相机权限、在SD卡创建和删除文件权限、在SD卡中写入数据权限
- 创建一个文件,并从键盘写入数据
- 动态创建文本文件并写入数据 避免正由另一进程使用,因此该进程无法访问该文件。的问题
- 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- ADO 实例《创建一个临时数据库 创建一个临时数据表 GridView1绑定内容 以及Dataset_的使用》