0分类
1 单工管道
程序进程与Shell命令行进程单项通信
1.1打开管道FILE* popen (const char *command, const char *open_mode)
1.1.1参数
No. 参数 |
含义 |
1 command |
命令行字符串 |
2 open_mode |
"r"只读"w"只写 |
1.1.2返回值
No. 返回值 |
含义 |
1 NULL |
文件描述符 |
2 非NULL |
打开失败 |
FILE* fd = popen("ps -ef","r");
1.2读取size_t fread ( void *buffer, size_t size, size_t count, FILE *stream)
1.2.1参数
No. 参数 |
含义 |
1 buffer |
用于接收数据的内存地址 |
2 size |
读取每个数据项的字节数 |
3 count |
数据项个数 |
4 stream |
输入流 |
1.2.2返回值
No. 返回值 |
含义 |
1 >count |
出错 |
2 正数 |
真实读取的数据项个数 |
2.3 写入size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream)
2.3.1参数
No. 参数 |
含义 |
1 buffer |
写入数据的内存地址 |
2 size |
写入数据项的字节数 |
3 count |
写入数据项的个数 |
4 stream |
目标文件指针 |
2.3.2返回值
No. 返回值 |
含义 |
1 >count |
出错 |
2 正数 |
真实写入的数据项个数 |
2.4关闭管道int pclose(FILE *stream);
2.4.1参数
2.4.2返回值
2半双工管道
2.1创建管道int pipe(int filedes[2])
2.1.1参数
参数 |
含义 |
filedes[0] |
读 |
filedes[1] |
写 |
2.1.2返回值
#include<stdio.h>
#include<stdlib.h>