2015-09-27 70 views
2

我有这个.gz文件的集合,每个文件里面都有一个文本文件。这个文本文件需要在C程序中使用。以下代码以某种方式解决了这个问题,其中参数1和2是我作为C程序参数(argc,argv [])在main()中收到的整数。管道提供一个文件作为输入到C程序

gzip -dc xyz.txt.gz | ./program parameter1参数2

有人可以解释上述代码在命令行中的工作原理吗? 文本文件如何自动传递给程序? 我是否需要在C程序中编写额外的代码才能接收此文本文件?

回答

1

shell通过pipe(7)将一个命令的stdout直接连接到另一个命令的stdin。这两项计划都不得不采取任何不寻常的行动来利用这一点。

+0

所以,我需要在C程序中使用pipe()函数来打开和使用文本文件? – Aiyoyo

+0

**“这两个程序都不得不做任何不寻常的事情来利用这一点。”** –

+0

噢好吧!对不起。谢谢。 – Aiyoyo

相关问题