【发布时间】:2012-01-25 06:34:10
【问题描述】:
我有一个程序调用一个 tar.. 类似 popen("tar -zcvf")
我想在标准输入上写……然后得到输出……像 焦油 -zcvf - /路径|焦油-zxvf-
所以..一方面我将封装目录中的文件,然后它们通过标准输出发送并在逆过程中写入..并发送到 bash 的标准输出。
我想做这个管道过程..
读取一个文件夹/文件并将标准输入发送到“提取”内容并读取二进制输出。
我想要这个,因为我可以发送经过处理的套接字数据并在另一端提取而不需要磁盘,我实时压缩和解压缩..
有人可以帮助我吗?
我看到我需要执行... 但我发现的所有示例都是将孩子的标准输出重定向到我的。
我会这样做:
LOOP.
1 Get block of data from stdin
2 Send to child program
3 get the output
4 Do something with the data (send back trough socket)
END_LOOP
OR
LOOP
1 Get block of data from stdin.
2 Send to child program.
END_LOOP
LOOP
1 Get block of data from child program
2 Do something with the data (send back trough socket)
END_LOOP
【问题讨论】:
标签: c++ stdout pipe stdin popen