我应该如何从我的C程序中运行另一个程序?我需要能够将数据写入STDIN启动的程序中(并可能从中读取STDOUT)
C
STDIN
STDOUT
我不确定这是否是标准的C函数。我需要应该在Linux下工作的解决方案。
您要使用popen。它为您提供了一个单向管道,您可以使用该管道访问程序的stdin和stdout。
popen
popen是现代unix和类似unix的操作系统的标准配置,其中Linux是其中之一:-)
类型
man popen
在终端上阅读有关它的更多信息。
编辑
无论是popen生产单向或双向管道依赖于实现。在Linux和OpenBSD中,popen产生单向管道,这些管道是只读或只写的。在OS X上,FreeBSD和NetBSD popen生成双向管道。