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学习笔记-标准库中的管道操作相关推荐
- c/c++标准库中的文件操作总结
1 stdio.h是c标准库中的标准输入输出库 2 在c++中调用的方法 直接调用即可,但是最好在函数名前面加上::,以示区分类的内部函数和c标准库函数. 3 c标准输入输出库的使用 3.1 核心结构 ...
- go学习笔记-标准库
标准库 名称 摘要 archive tar tar包实现了tar格式压缩文件的存取.zip zip包提供了zip档案文件的读写服务. bufio bufio 包实现了带缓存的I/O操作. builti ...
- Go学习笔记—标准库Context
标准库Context 由于goroutine没有父子关系,多个goroutine都是被平行的调度,所以在拉起多个goroutine后,程序的执行模型并没有维护树状结构的goroutine树,所以无 ...
- Linux学习笔记-动态库的生成
库分为两种: (1)共享库 Shared Library (2)静态库 Static Library 通常共享库也称为动态库. 使用g++命令来生成动态库编译,生成.o文件 (编译选项 ‐fPIC ...
- Linux学习笔记(更新中~)
Linux 1 Introduce 适用人群: 运维工程师(系统运维.应用运维.DBA) 开发工程师(内核/驱动开发.软件开发.嵌入式开发 ) 架构师(进阶,性能调优.故障处理.-) 应用场景: We ...
- linux学习笔记:06-ubuntu中挂载U盘
U盘挂载 Linux的磁盘管理和window有很大区别,在windo下会有分区的概念,但在Linux中一般不叫做分区而叫做挂载点,挂载点就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是挂载 ...
- Linux学习笔记-动态库的使用
example.h libexample.so 如下图所属: 现在写一个.cpp 源码如下: main.cpp #include "example.h"int main(){pri ...
- linux中的echo%3e文件,Linux学习笔记-shell脚本中${}的使用方法
${} 除了做${var}变量替换,还有什么功能呢? # 举例说明 [[email protected] ~]$ file=/dir1/dir2/dir3/my.file.txt # 变量替换 [[e ...
- STM32 HAL库学习笔记1-HAL库简介
STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...
最新文章
- Android targetSdkVersion 原理
- linux 信号灯超时时间到,急!!信号灯超时时间已到错误又出来了!!!!
- 知识库问答中的关系识别研究回顾
- Network下方什么请求也没有_HTTP的响应与请求
- EF架构~codeFirst从初始化到数据库迁移
- 那些年学过的Hibernate笔记
- CentOS 7 怎样自动连接网络
- Docker系列教程27-在生产环境中使用Docker Compose
- 面试题之TCP三次握手和四次挥手详解
- Web前端主流框架优缺点有哪些?小编帮你分析
- php好用的中文转拼音的类库
- java中线,使用Voronoi图查找多边形的中线
- Cent os 安装 JDK , 配置JAVA_HOME
- 51单片机“叮咚”门铃
- 华为服务器新机安装配置,安装驱动,制作raid,raid5
- python人民币小写转大写_Python小程序 -- 人民币小写转大写辅助工具
- linux线程池的使用
- Linux学习进阶路线
- ros与华为交换机 vlan配置思路及两种dhcp配置方法
- win7计算机管理对话框功能,win7如何打开运行对话框_win7电脑系统运行窗口怎么打开...
热门文章
- Windows 7 IIS HTTP 错误 403.14 - Forbidden
- How to include library manually into maven local repository?
- CentOS上搭建Nginx + Mono 运行 asp.net
- 潜伏研发群一个月,我发现了程序员不为人知的秘密!这也太可爱了吧
- 如何在C++中嵌入JAVA程序
- 聊聊2019年的web前端
- mysql映射mapper_Mybatis中Mapper映射文件使用详解
- java shirofilter_Spring项目集成ShiroFilter简单实现权限管理
- 不加载执行js_前端性能优化:preload 预加载页面资源
- vscode 新版eslint自动修复_VSCODE 配置eslint规则和自动修复