Linux进程间通信:标准库中的管道操作
来源:互联网 发布:java class反编译工具 编辑:程序博客网 时间:2024/06/15 02:33
标准库中的管道操作
- 使用popen()创建的管道必须使用pclose()关闭。其实,popen/pclose和标准文件输入/输出流中的fopen()/fclose()十分相似。
- 封装管道的常用操作。
#include <stdio.h>
FILE *popen(const char * cmdstring,const char* type);
返回值:成功返回文件指针,出错返回NULL
int pclose(FILE *fp);
返回值:cmdstring的终止状态,出错返回-1.
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
int main(void)
{
FILE *fp;
fp = popen("cat /etc/passwd","r");
char buf[512];
memset(buf,0,sizeof(buf));
while(fgets(buf,sizeof(buf),fp) != NULL){
printf("%s",buf);
}
pclose(fp);
printf("--------------------------------------------------\n");
fp = popen("wc -l","w");
fprintf(fp,"1\n2\n3\n");
pclose(fp);
return 0;
}
#include <stdlib.h>
#include <memory.h>
int main(void)
{
FILE *fp;
fp = popen("cat /etc/passwd","r");
char buf[512];
memset(buf,0,sizeof(buf));
while(fgets(buf,sizeof(buf),fp) != NULL){
printf("%s",buf);
}
pclose(fp);
printf("--------------------------------------------------\n");
fp = popen("wc -l","w");
fprintf(fp,"1\n2\n3\n");
pclose(fp);
return 0;
}
阅读全文
0 0
- Linux进程间通信:标准库中的管道操作
- 进程间通信系列(5)标准库中的管道操作
- Linux进程间通信:管道(把管道用作标准输入和标准输出)
- Linux 进程间通信管道
- Linux 进程间通信 管道
- Linux进程间通信:管道
- Linux进程间通信-管道
- Linux进程间通信 -- 管道
- Linux--进程间通信--管道
- linux进程间通信--管道
- Linux间进程通信 管道
- Linux进程间通信之管道通信
- Linux进程间通信之管道通信
- Linux 进程间通信--- 管道通信
- linux进程间通信-管道通信
- Linux下进程间通信--管道通信
- Linux进程间的通信--管道通信
- linux系统中的进程通信(管道和有名管道)
- SQL面试题
- AndroidStudio设置当前项目的代码管理工具
- python学习 思维导图
- 多路复用I/O Epoll的简单使用
- 46 WebGL网页上显示三维物体
- Linux进程间通信:标准库中的管道操作
- 线性回归预测
- 用vue-cli脚手架创建项目
- 一些搁置的代码,总结
- 访问控制级别有哪些? 以及和abstract static final的位置关系
- 最大流问题预流推进算法(BFS优化)
- 学习笔记——JAVA设计模式<13>迭代器模式
- Nginx 常用全局变量 及Rewrite规则详解
- 【Machine Learning】【Python】一、HoG + SVM 物体分类 ---- 《SVM物体分类和定位检测》