一尘不染

从C程序中执行程序

linux

我应该如何从我的C程序中运行另一个程序?我需要能够将数据写入STDIN启动的程序中(并可能从中读取STDOUT

我不确定这是否是标准的C函数。我需要应该在Linux下工作的解决方案。


阅读 260

收藏
2020-06-02

共1个答案

一尘不染

您要使用popen。它为您提供了一个单向管道,您可以使用该管道访问程序的stdin和stdout。

popen是现代unix和类似unix的操作系统的标准配置,其中Linux是其中之一:-)

类型

man popen

在终端上阅读有关它的更多信息。

编辑

无论是popen生产单向或双向管道依赖于实现。在LinuxOpenBSD中popen产生单向管道,这些管道是只读或只写的。在OS
X上
FreeBSDNetBSD popen生成双向管道。

2020-06-02