我应该如何从我的 C
程序中运行另一个程序?我需要能够将数据写入已启动程序的 STDIN
(并且可能从它的 STDOUT
中读取)
我不确定这是否是标准的 C 函数。我需要可以在 Linux 下运行的解决方案。
最佳答案
您想使用popen
。它为您提供了一个单向管道,您可以通过它访问程序的标准输入和标准输出。
popen 是现代 unix 和类 unix 操作系统的标准,Linux 就是其中之一:-)
类型
man popen
在终端中阅读更多相关信息。
编辑
popen
是否产生单向或双向管道取决于实现。在 Linux和 OpenBSD , popen
产生单向管道,它是只读的或只写的。在 OS X , FreeBSD和 NetBSD popen
生成双向管道。
关于c - 从 C 程序中执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70842/