网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.橡皮筋画线法.
.C++ Builder 初学问与答(十七).
.Visual C++ 入门精解-引言.
.新设想——VC开发多语言界面支持.
.“Hello world!”的N种写法.
.学C++不得不看的一篇文章.
.浅谈C++中的内存管理.
.用游戏串起程序员的基本功之四.
.用Delphi实现远程屏幕抓取.
.利齿C sharp代替C++?.
.C语言程序开发经典实例之七.
.如何用VC实现软件注册.
.C++数据类型的属性与限制.
.学数学也要学点偷懒的技术(二).
.C语言中的面向对象(3)-类模拟的.
.编辑器的改进.
.只需一分钟!设计漂亮的程序界面.
.用AVIFile函数制做AVI文件基本步.
.COM编程入门1.
.传递焦点的五种方法.

利用管道进行进程的通信示例

发表日期:2008-3-8



  这里用到了 pipe 管道函数:
int pipe(int file_descriptor[2]);
函数 pipe 填充的两个整数的含义是两个文件描述符,任何向 file_descriptor[1] 写入的数据,可以从 file_descriptor[0] 中读取,并且写入的数据符合先入先出的规则.

例 pipe.c:

#include
#include
#include
#include

int main()
{
int data_processed;
int file_pipes[2];
const char some_data[]="123";
char buffer[BUFSIZ+1];
int fork_result;

memset(buffer,'\\0',sizeof(buffer));

if(pipe(file_pipes)==0){
fork_result=fork(); /* 设置进程 */
if (fork_result==-1){
/* 判定设置进程是否出错 */
fprintf(stderr,"Fork failure");
exit(EX99v_FAILURE);
}

/* 下面判定,若是是子进程则读管道数据,父进程则向管道写数据 */

if(fork_result==0){
/* 判定是否子进程 */
data_processed=read(file_pipes[0],buffer,BUFSIZ);
/* 从管道读数据 */
printf("Read %d bytes:%s\n",data_processed,buffer);
exit(EX99v_SUCCESS);
} else {
/* 父进程 */
data_processed=write(file_pipes[1],some_data,strlen(some_data));
/* 向管道写数据 */
printf("Wrote %d bytes\n",data_processed);
}
}
exit(EX99v_SUCCESS);
}

程序运行:./pipe
执行结果:
Wrote 3 bytes
Read 3 bytes:123
利用管道进行通信成功!^o^
上一篇:C/C++中多维数组的指针作为函数参数传递! 人气:956
下一篇:例程详析动态链接库 人气:517
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐