20.31 怎样调用另一个程序或命令, 同时收集它的输出?

Unix 和其它一些系统提供了 popen() 函数, 它在联通运行命令的 进程管道设置了 stdio 流, 所以输出可以被读取 (或提供输入)。记住, 结束使用后, 要调用函数 pclose()。

如果你不能使用 popen(), 你应该可以调用 system(), 并输出到一个你可以打开读取的文件。

如果你使用 Unix, 觉得 popen() 不够用, 你可以学习用 pipe(), dup(), fork() 和 exec()。

顺便提一下, freopen() 可能并工作。

参考资料: [PCS, Sec. 11 p. 169]。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)