我現在正在研究Linux中的一個小型C程序。讓我來解釋一下什麼我想下面另一個Linux命令輸出(管道)作爲我的C程序的輸入
ls | grep hello
上面的命令是在下面的激情執行的樣品Linux命令這樣做(讓我知道如果我有這個錯誤)
- LS命令將被執行的第一
- 輸出將給出到grep命令將由匹配「你好」
現在再次生成輸出我想寫一個C程序這需要在p將一個命令的輸出作爲輸入。意思是,在「grep」程序如何能夠從ls命令(在上面的示例中)獲得輸入的類似激情中。
類似的問題已經被問另一個用戶here,但由於某些原因,這個主題已經被標記爲我最初以爲我們可以得到這樣的作爲命令行參數的C程序「不是一個有效的問題」
。但這種情況並非如此。
Unix管道通過['STDIN'和'STDOUT']工作(http://en.wikipedia.org/wiki/Standard_streams)。你只需要閱讀_standard in_來獲得你的輸入,然後寫出_standard out_給你的輸出。 – DaoWen
感謝DaoWen - 我已經通過閱讀STDIN的輸入來實現它 –