欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

Linux学习笔记-标准库中的管道操作

发布时间:2025/3/15 linux 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux学习笔记-标准库中的管道操作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

 

理论

例子


理论

stdio.h里面有标志库管道操作

FILE *popen(const char* cmdstring, const char *type);返回值:成功返回文件指针,出错返回NULL;

 int pclose(FILE *fp);

返回值:cmdstring的终止状态,出错返回-1

 

注意:使用pepen()创建管道必须使用pclose()关闭!

 

popen内部原理:

 

 

例子

源码如下:

#include <stdio.h> #include <stdlib.h> #include <memory.h>int main(void){FILE *fp;//命令执行的结果放置在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");//wc命令统计数据fp = popen("wc -l", "w");//向fp指向的结构体缓存中写入数据fprintf(fp, "1\n2\n3\n");pclose(fp);exit(0); }

运行截图如下:

-l为统计多少行

新人创作打卡挑战赛发博客就能抽奖!定制产品红包拿不停!

总结

以上是生活随笔为你收集整理的Linux学习笔记-标准库中的管道操作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。