2015-09-27 78 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

相關問題