20.31 怎樣調用另一個程序或命令, 同時收集它的輸出?

Unix 和其它一些系統提供了 popen() 函數, 它在聯通運行命令的 進程管道設置了 stdio 流, 所以輸出可以被讀取 (或提供輸入)。記住, 結束使用後, 要調用函數 pclose()。

如果你不能使用 popen(), 你應該可以調用 system(), 並輸出到一個你可以打開讀取的文件。

如果你使用 Unix, 覺得 popen() 不夠用, 你可以學習用 pipe(), dup(), fork() 和 exec()。

順便提一下, freopen() 可能並工作。

參考資料: [PCS, Sec. 11 p. 169]。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)