系统编程——管道_高级管道

本文介绍了系统编程中的高级管道概念,包括如何将命令的输出作为其他程序的输入,以及通过popen()和pclose()函数实现读写操作。通过示例展示了使用'r'和'w'类型来创建管道,并详细解释了调用这两个函数进行数据传输的步骤。
摘要由CSDN通过智能技术生成

高级管道

高级管道:将命令运行结果读入到程序,或将程序运行结果输出到命令
ls -l | grep ^d
“r” “w”
将左边命令的输出作右边命令的输入

步骤

1.调用popen()打开高级管道
FILE *popen(const char *command, const char *type);
@command:shell命令
@type:读写类型,“r”:读 “w”:写
返回文件指针

读fread()或写fwrite();
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);

2.调用pclose()关闭高级管道 
int pclose(FILE *stream);

#include <stdio.h>
#include <string.h>

int main()
{
   
#if 0
	//1.将ls -l命令运行的结果存入buf
	FILE *fp = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值