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